Joomla.it Forum
Joomla! 3 => Joomla! 3 => : Il_maca 01 Jun 2013, 20:09:07
-
Salve a tutti ragazzi :)
Stavo riadattando un componente per la nuova versione di joomla, la 3.1 e sono incappato in un piccolo problema che non riesco proprio a risolvere:
in pratica il componente manda una mail, in seguito con un setredirect mi rimanda alla pagina stessa mostrandomi un messaggio. Fino alla 2.5 funziona... ma sulla 3.1 mi reindirizza correttamente ma non mi fa visualizzare il messaggio... posto il codice:
$link = JRoute::_('index.php?option=com_digicontacts', false);
$msg = JText::_('DIGICONTACT_JS_WRONGCAPTCHA');
$this->setRedirect($link, $msg, 'error');
Ho cercato nella documentazione, ma non ho trovato nulla... può dipendere dal template utilizzato?
-
ciao, sicuro che esista nella 2.5?
Qui leggo che si tratta di un riferimento "storico" della 1.5, potrebbe essere una funzione che già nella 1.6 continuava ad esserci solo per comodità ma che non era supportata in modo effettivo!
http://docs.joomla.org/API15:JController/setRedirect (http://docs.joomla.org/API15:JController/setRedirect)
Ad ogni modo se inserisci il messaggio in buffer e subito dopo effettui il redirect il problema persiste?
-
$this->setMessage(JText::_('DIGICONTACT_JS_WRONGCAPTCHA'), 'error');
$this->setRedirect($link, false);
-
Era quello che temevo, perchè effettivamente non trovavo nulla nella documentazione...
ho provato a caricarlo con il setMessage ma nulla.
Provo con la enqueueMessage(http://docs.joomla.org/Display_error_messages_and_notices (http://docs.joomla.org/Display_error_messages_and_notices))
e vi faccio sapere...
Aggiornamento
nulla... ho provato a fare in questo modo:
$link = JRoute::_('index.php?option=com_digicontacts', false);
JFactory::getApplication()->enqueueMessage(JText::_('DIGICONTACT_JS_WRONGCAPTCHA'), 'error');
$this->setRedirect($link, false);
ma non funziona...
ho provato anche in quest'altro modo:
$link = JRoute::_('index.php?option=com_digicontacts', false);
$this->setMessage(JText::_('DIGICONTACT_JS_WRONGCAPTCHA'), 'error');
$this->setRedirect($link, false);
ma niente mmm
AGGIORNAMENTO DEFINITIVO:
Allora, ringrazio tutti per le risposte, che mi hanno illuminato :D La funzione setMessage Sembra non funzionare... al contrario funziona benissimo questo:
$link = JRoute::_('index.php?option=com_digicontacts', false);
JFactory::getApplication()->enqueueMessage(JText::_('DIGICONTACT_JS_WRONGCAPTCHA'), 'error');
$this->setRedirect($link, false);
Però non veniva visualizzato il messaggio perchè per la prima volta ho utilizzato un template scaricato... e nell'index.php mancava l'inclusione del messaggio:
<jdoc:include type="message" />
Purtroppo è la prima volta che utilizzo un template già pronto e avevo dato per scontato che ci fosse! Grazie mille ;)
-
Avendo aggiunto il tag necessario sei riuscito a testare comunque anche il metodo iniziale?
-
Impostando il messaggio nel setRedirect? a dire il vero no... non ci ho pensato proprio! Stasera lo provo e vi faccio sapere ;)