Joomla.it Forum
Non solo Joomla... => Sviluppo => : baldo 17 Jun 2013, 18:55:24
-
ciao ragazzi
ho impostato da amministrazioni le opzioni SEO SEF per la riscrittura degli url
pultroppo in alcuni casi joomla è troppo invadente
se da dentro un modulo customizzato cioe scritto dal programmatore scrivo un tag anchor
joomla modifica l'attributo href per mantenere il menu corrente
es se scrivo
<a href="index.php?param1=vparam1">home< / a >
quando la pagina viene renderizzata da joomla il tag diventa
<a href="http://localhost/jmysite/prevrichiestastep3?param1=vparam1">home< / a >
dove prevrichiestastep3 è l'alias del menu corrente
c'è un un'impostazione del rewrite di joomla per risolvere il mio problema? oppure ad esempio un attributo nel tag anchor per dire a joomla di non maneggiare il mio tag anchor?
-
ho visto che se non aggiungo nessun parametro il problema non si verifica
ossia se scrivo
< a href="index.php">home< / a >
rimane tale e quale
-
a furia di tentativi ho risolto così :
ps da amministrazione le opzioni SEO SEF sono impostare per la riscrittura degli url e per l'eliminazione della stringa index.php dall'url
< a href="?param1=vparam1">home< / a >
funziona! joomla non modifica l'href e non aggiuge il link al menu corrente ... almeno in localhost
...
tuttavia ho una sensazione come di una spada di damocle sulla capa
immagino che nell'host in produzione ci saranno problemi
mi chiedo qual'è grossomodo il meccanismo di rewite degli url, quali le classsi joomla coinvolte ecc
-
usa tutta l'url non solo index.php
-
ciao M_W_Cho provato e ho verificato che se elimino index.php joomla non modifica l'href
anche scrivendo l'indirizzo completo joomla comunque inserisce il riferimento al menu corrente
faccio degli esempi, alias del menu corrente = prevrichiestastep3
href scritto da me >> href modificato da joomla
index.php?myparams >> prevrichiestastep3.html?myparams (indirizza al menu prevrichiestastep3)
?myparams >> ?myparams (indirizza all'index e di conseguenza al menu du default)
index.php?option=com_mycomponent&view=myview&myparams >> prevrichiestastep3.html?view=myview&myparams
(joomla comunque aggiunge l'alias del menu corrente, il componente è lo stesso di quello corrente)
se provo a scrivere l'indirizzo completo senza l'index.php non va bene perchè joomla non lo associa al suo menu
-
tutto l'url vuol dire http tuo sito index script parametri
se vuoi accorciare usa JUri
-
grazie m_w_c, credo di avere risolto
per cambiare menu corrente, quando è attivo l'url rewrite basta indicare l'alias del menu di destinazione
esempio
href=home.php?myparams
ovvio direte :) :) :)
-
quindi se togli il sef devi andare a modificare tutti gli script? ... non mi sembra una soluzione.
... scusa ma perchè agli altri non capita?
-
quindi se togli il sef devi andare a modificare tutti gli script? ... non mi sembra una soluzione.
... scusa ma perchè agli altri non capita?
farò dei test per capire dove sbaglio, ho una mezza idea
ma come dovrebbe funzionare?
ipotesi hai una voce di menu
nome: NomeMenu1
alias: myalias1
link: index.php?option=com_mycomponent&view=vista1
se da un modulo un controller, vuoi scrivere un url che intercetta il menu si fa cosi? ho capito bene?
$url = jRoute::_('index.php?option=com_mycomponent&view=vista1');
//
setRedirect($url) , href=$url, ...
-
..ancora... ma perchè non leggi? io non ti ho parlato di jRoute...