Joomla.it Forum

Componenti per Joomla! => Gestione Form => : giusebos 09 May 2014, 12:42:56

: [Risolto] passare il titolo di un articolo con chronoform V5 e joomla 3.3
: giusebos 09 May 2014, 12:42:56
ho seguito questa discussione
http://forum.joomla.it/index.php?topic=82368.0 (http://forum.joomla.it/index.php?topic=82368.0)

per far si che dentro la mail ci sia il titolo dell'articolo dove si trova il form.

Uso joomla 3.3 e chronoform V5.
In questa versione di chronoform però non funziona; è cambiato qualcosa?
: Re:passare il titolo di un articolo a chronoform
: mmleoni 12 May 2014, 10:56:31
se sei in un articolo, ovvero nella view article di com_content, allora hai sicuramente la variabile di query string 'id' con l'identificativo dell'articolo.
io userei questo per leggere da db il titolo dell'articolo dalla relativa tabella e pre-popolare le variabili della form, tramite custom code, prima del render della stessa. il titolo lo metti poi in un campo hidden


ciao
: Re:passare il titolo di un articolo a chronoform
: giusebos 12 May 2014, 13:03:20
si sono nella view article di com_content....
lo stesso procedimento con chronoform v4 in altro sito funziona, con chonoform v5, che uso da poco, ho notato dei piccoli cambiamenti (sopratutto a livello nomi) anche per la realizzazione di form. Il form naturalmente funziona, mi manca solo l'informazione del titolo dell'articolo.
: Re:passare il titolo di un articolo a chronoform
: mmleoni 12 May 2014, 13:29:27
secondo me è sbagliato il metodo indicato nel vecchio post, anche per CF4.


inserisci un campo hidden ( o text, come preferisci) nella form con name titoloArticolo.


usa un custom code nell'onload della form per recuperare, con il metodo che preferisci, il titolo dell'articolo, poi inserisci
$form->data['titoloArticolo'] =  $titoloArticolo;


a questo punto quando CF disegna la form avrai il campo hidden popolato con il valore contenuto in $titoloArticolo


ciao,
marco





: Re:passare il titolo di un articolo a chronoform
: giusebos 12 May 2014, 15:01:57
domani o più tardi provo e ti faccio sapere.

Grazie  :)
: Re:passare il titolo di un articolo a chronoform
: giusebos 14 May 2014, 15:00:13
Dopo moltissime prove sono finalmente riuscito ad avere quello che volevo, grazie anche al suggerimento di mmleoni e di belinbelan.

questa la soluzione valida per joomla 3.3 e chronoform V5

Come punto di partenza ho utilizzato uno dei form che vengono installati cliccando in "Demos"

quindi aprendo il form per editarlo ho aggiunto in designer un campo custom con questo codice:

:
<?php
$database 
=& JFactory::getDBO();
$query "SELECT * FROM #__content WHERE id='".JRequest::getVar('id')."'";
$database->setQuery$query );
$articolo $database->loadObject();
$form->data['titolo_articolo'] =& $articolo->title;
?>

e sempre in design un ulteriore campo text con field name e fiel ID contente questo nome "titolo_articolo"

questo campo text è impostato nel load state in "Parent Hidden"
: Re:[Risolto] passare il titolo di un articolo con chronoform V5 e joomla 3.3
: mmleoni 14 May 2014, 15:10:58
meglio così:
:
<?php
$database 
JFactory::getDBO();
$query "SELECT title FROM #__content WHERE id='" JFactory::getApplication()->input->getInt('id'0) . "'";
$database->setQuery$query );
$articolo $database->loadResult();
$form->data['titolo_articolo'] = $articolo;
?>
ma verifica che ho fatto ad occhio...


(=& in questa accezione è deprecato in php 5.3+, JRequest è deprecato in J3+, getVar è sql injection garantita, loadResult() per il valore singolo, l'ultimo =& è sintatticamente corretto ma non ha senso: stai comunque passando un piccolo scalare e non un vettore)... pensa a quei poveracci che mi hanno avuto come insegnante o direttore  ;D ;D


ciao,
marco


: Re:[Risolto] passare il titolo di un articolo con chronoform V5 e joomla 3.3
: giusebos 14 May 2014, 15:38:57
ho sostituito il codice e funziona perfettamente.

Grazie :)
: Re:[Risolto] passare il titolo di un articolo con chronoform V5 e joomla 3.3
: BelinBelan 14 May 2014, 16:04:59
ahhh, è da qui che si vede che sono arruginitissimo!!!  ;D ;D ;D