Autore Topic: titolo nome articolo in un modulo  (Letto 1516 volte)

Offline claudiocarrera

  • Appassionato
  • ***
  • Post: 612
  • Sesso: Maschio
  • Sviluppo siti web Brescia
    • Mostra profilo
titolo nome articolo in un modulo
« il: 06 Giu 2014, 14:39:25 »
Buongiorno a tutti

Vi chiedo info su questa cosa perché sono un pò bloccato, non sò se si può fare.

Stò creando un sito e  ho fatto in modo che, quando utente visualizza un singolo item caricato tramite componente categoria, viene visualizzato anche il form per i contatti.

Il form contatti è un modulo realizzato da me e funziona (mancano un pò di cose ma funziona, probabilemnte vi chiederò qualcosa ancheper il form), però vorrei che, tra i parametrti mandati via email dal form, tra i dati inviati, ci sia il titolo dell'articolo da cui è stato compilato il form.

In pratica: se viene mandato dal form caricato sulla pagina dell'articolo5, nel email che riceverò ci sarà scritto "mandato da articolo 5", mentre se invece lo manda dall'articolo1 verrà scritto "mandato dall'articolo1".

Quali API posso prendere per caricare il titolo dell articolo attivo?
Claudio Carrera - claudio@3rd-graphic.it
partita iva: 03597950983
tel: 338 9433727

Offline giusebos

  • Fuori controllo
  • *
  • Post: 19718
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:titolo nome articolo in un modulo
« Risposta #1 il: 06 Giu 2014, 15:20:45 »
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline claudiocarrera

  • Appassionato
  • ***
  • Post: 612
  • Sesso: Maschio
  • Sviluppo siti web Brescia
    • Mostra profilo
Re:titolo nome articolo in un modulo
« Risposta #2 il: 06 Giu 2014, 16:59:17 »
provato  e funziona!, provato a caricarlo nel template , ho  dovuto solo cambiare tabella target e ho provato:
Codice: [Seleziona]
$database = JFactory::getDBO();
$query = "SELECT title FROM #__k2_items WHERE id='" . JFactory::getApplication()->input->getInt('id', 0) . "'";
$database->setQuery( $query );
$articolo = $database->loadResult();

echo $articolo;

Fantatastico! grazie mille.

Domandanina già che ci siamo: e se invece del title volessi caricare alias o un altro valore? 
Claudio Carrera - claudio@3rd-graphic.it
partita iva: 03597950983
tel: 338 9433727

Offline claudiocarrera

  • Appassionato
  • ***
  • Post: 612
  • Sesso: Maschio
  • Sviluppo siti web Brescia
    • Mostra profilo
Re:titolo nome articolo in un modulo
« Risposta #3 il: 07 Giu 2014, 13:33:10 »
cioè non mi torna questo: loadResult() carica la prima colonna dopo la selezione,  la colonna dopo id è il title e fin qui  tutto ok (e diciamo che qui mi è andata bene che tabella content di joomla e item di k2 sono simili), ma se non volessi prendere la prima colonna? cambio getInt?, cambio WHERE?
« Ultima modifica: 07 Giu 2014, 14:55:56 da claudiocarrera »
Claudio Carrera - claudio@3rd-graphic.it
partita iva: 03597950983
tel: 338 9433727

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:titolo nome articolo in un modulo
« Risposta #4 il: 10 Giu 2014, 14:04:53 »
?? sei sicuro di sapere che cosa sia il sql e di aver capito come funziona loadresult()?
loadresult restituisce il primo field della prima riga del recordset, il primo field del recordset è title.


quindi non usi loadresult() ma loadobject()  e cambi la lista di campi dopo SELECT.
ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline claudiocarrera

  • Appassionato
  • ***
  • Post: 612
  • Sesso: Maschio
  • Sviluppo siti web Brescia
    • Mostra profilo
Re:titolo nome articolo in un modulo
« Risposta #5 il: 10 Giu 2014, 16:46:18 »
Non mi ero accorto che nella SELECT è selezionato il title, dato per scontato la selezione di tutti i campi  :P .

loadObject non mi funziona, provato loadobjectlist ma mi dà un solo valore in array che non riesco ad estrarre.
Mi funziona: se cambio il parametro della select(SELECT introtext FROM ecc....) e continuando ad usare loadResult,  oppure se uso loadRow:

Codice: [Seleziona]
$database = JFactory::getDBO();
$query = "SELECT * FROM #__k2_items WHERE id='" . JFactory::getApplication()->input->getInt('id', 0) . "'";

$database->setQuery( $query );
$articolo = $database->loadRow();

echo $articolo[2].'<br />'.$articolo[4];
Però con loadRow mi carica tanti parametri, non è elegantissimo come codice.

Con loadObject e loadobjectlist come procedo? chiedo perché me li appunto nel caso mi servano in futuro.
Claudio Carrera - claudio@3rd-graphic.it
partita iva: 03597950983
tel: 338 9433727

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:titolo nome articolo in un modulo
« Risposta #6 il: 10 Giu 2014, 17:20:21 »
Però con loadRow mi carica tanti parametri, non è elegantissimo come codice.
se usi all come selettore...
loadobjectlist? che centra? guarda la query, quanti record potrà mai restituire se specifichi il valore della PK nel where? comunque restituisce un array di oggetti, quindi si itera l'array per accedere ai singoli record.


loadrow() non è elegante come codice perché, di suo, dipende dalla formulazione della query e, per come la hai scritta tu, dipende anche dalla struttura della tabella e non perché carica tanti parametri. per questo ho suggerito loadobject(), se non hai dimestichezza con gli oggetti usa loadassoc(). per il resto fai riferimento alla doc on line.


scusa, mi sa che l'eleganza del codice sia proprio l'ultimo dei tuoi problemi  ;D
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline claudiocarrera

  • Appassionato
  • ***
  • Post: 612
  • Sesso: Maschio
  • Sviluppo siti web Brescia
    • Mostra profilo
Re:titolo nome articolo in un modulo
« Risposta #7 il: 10 Giu 2014, 18:08:39 »
se usi all come selettore...
loadobjectlist? che centra? guarda la query, quanti record potrà mai restituire se specifichi il valore della PK nel where? comunque restituisce un array di oggetti, quindi si itera l'array per accedere ai singoli record.


loadrow() non è elegante come codice perché, di suo, dipende dalla formulazione della query e, per come la hai scritta tu, dipende anche dalla struttura della tabella e non perché carica tanti parametri. per questo ho suggerito loadobject(), se non hai dimestichezza con gli oggetti usa loadassoc(). per il resto fai riferimento alla doc on line.


scusa, mi sa che l'eleganza del codice sia proprio l'ultimo dei tuoi problemi  ;D

Non trovo la documentazione di loadObject trovato solo di loadObectlist dov'è che l'hai visto loadobject? sicuro ci sia ancora nella 3.3?
Claudio Carrera - claudio@3rd-graphic.it
partita iva: 03597950983
tel: 338 9433727

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:titolo nome articolo in un modulo
« Risposta #8 il: 10 Giu 2014, 18:38:51 »
sicuro ci sia ancora nella 3.3?


visto che è definito in JDatabaseDriver di J3.3 e non è marcato come deprecated, sì, sono sicuro.

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

mau_develop

  • Visitatore

 

Host

Torna su