Joomla.it Forum

Non solo Joomla... => Sviluppo => : baldo 17 Jun 2013, 18:55:24

: url rewrite troppo invadente
: 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?
: Re:url rewrite troppo invadente
: baldo 17 Jun 2013, 19:15:57
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
: Re:url rewrite troppo invadente
: baldo 17 Jun 2013, 19:40:28
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
: Re:url rewrite troppo invadente
: mau_develop 17 Jun 2013, 20:04:28
usa tutta l'url non solo index.php
: Re:url rewrite troppo invadente
: baldo 18 Jun 2013, 18:48:58
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
: Re:url rewrite troppo invadente
: mau_develop 18 Jun 2013, 19:04:58
tutto l'url vuol dire http tuo sito index script parametri

se vuoi accorciare usa JUri
: Re:url rewrite troppo invadente
: baldo 18 Jun 2013, 20:35:19
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  :) :) :)
: Re:url rewrite troppo invadente
: mau_develop 18 Jun 2013, 21:02:46
quindi se togli il sef devi andare a modificare tutti gli script? ... non mi sembra una soluzione.
... scusa ma perchè agli altri non capita?
: Re:url rewrite troppo invadente
: baldo 19 Jun 2013, 11:50:24
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, ...
: Re:url rewrite troppo invadente
: mau_develop 19 Jun 2013, 11:59:16
..ancora... ma perchè non leggi? io non ti ho parlato di jRoute...