Back to top

Autore Topic: Sviluppo nuovo componente...  (Letto 4676 volte)

Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
Sviluppo nuovo componente...
« il: 13 Gen 2010, 10:04:44 »
Premessa: Non conosco molto PHP, conosco pochissimo JoomlaMVC ma ci metto impegno e buona volontà!
Detto questo:

Voglio sviluppare un componente per la gestione delle liste nozze all'interno di un'agenzia viaggi (lavoro fatto per una parente). Il tutto già gira da qualche tempo grazie a virtuemart e alcune parti in php che però sono 100% esterne a joomla.
Ora vorrei integrarle in joomla, completarne lo sviluppo e rilasciare il componente.

Ho creato la struttura di base per il componente: views, models ecc. Tutto funziona digitando l'url (sito/index.php?option=com_listenozze&view=agenzia)

Mi sono però arenato a causa di un problema (certamente banale) con le query:

Codice: [Seleziona]
defined('_JEXEC') or die();

jimport( 'joomla.application.component.model' );

/**
 * Hello Model
 *
 * @package    Joomla.Tutorials
 * @subpackage Components
 */
class listenozzeModelagenzia extends JModel
{
function getLista()
{
$db =& JFactory::getDBO();
$value="335";
$query = "
  SELECT COUNT(*)
    FROM ".$db->nameQuote('#__sposi_accesso')."
    WHERE ".$db->nameQuote('id_lista')." = ".$db->quote($value).";
  ";
$db->setQuery($query);
$row = $db->loadRow();
print_r($row);
return $row;
}
}

In teoria questo codice (preso dal file agenzia.php presente nella cartella models) dovrebbe fare una query nella tabella jos_sposi_accesso per recuperare la riga con id = $value (per il numero 335) e riportarlo alla vista con il comando 'return $row' come array.

Il problema è che la vista non mi visualizza il contenuto dell'array:

Codice: [Seleziona]
<?php echo $this->row[0]; ?>Dove sbaglio?
Una volta capito come funzionano questi passaggi penso di poter procedere rapidamente nello sviluppo ma purtroppo non ho molto tempo da dedicare a questa cosa....


P.s. La vista ha lo stesso nome del models quindi dovrebbe essere caricata correttamente (e la conferma arriva dal fatto che se ci sono errori nel codice del modello la vista non viene caricata).


Grazie per l'aiuto, ricompenserò con il rilascio del componente quando completo  ;D

mau_develop

  • Visitatore
Re:Sviluppo nuovo componente...
« Risposta #1 il: 13 Gen 2010, 10:25:40 »
...commenta il return e dimmi cosa printa... null? bool? niente?

prova a togliere quei quote e namequote...

M.

ps dai un'occhiata qui:http://help.joomla.org/content/view/710/125/

Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #2 il: 13 Gen 2010, 10:43:12 »
Tolto il return non cambia nulla.
togliendo i quote e i namequote ottengo questo codice:

Codice: [Seleziona]
class listenozzeModelagenzia extends JModel
{
function getLista()
{
$db =& JFactory::getDBO();
$value='335';
$query = "
  SELECT COUNT(*)
    FROM ".$db->('#__sposi_accesso')."
    WHERE ".$db->('id_lista')." = ".$db->($value).";
  ";
$db->setQuery($query);
$row = $db->loadRow();
print_r($row);
/*return $row;*/
}
}

Quando vado a ricaricare la pagina non viene caricata! ora leggo il link che mi hai mandato, grazie.

mau_develop

  • Visitatore
Re:Sviluppo nuovo componente...
« Risposta #3 il: 13 Gen 2010, 11:11:31 »
.$db->('#__sposi_accesso')."

perchè fai questa cosa?

FROM #__sposi_accesso  e basta, e così anche dove hai anteposto $db

M.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #4 il: 13 Gen 2010, 11:27:35 »
Codice: [Seleziona]
In teoria questo codice (preso dal file agenzia.php presente nella cartella models) dovrebbe fare una query nella tabella jos_sposi_accesso per recuperare la riga con id = $value (per il numero 335) ...

NO  :(

restituisce 1 se esiste la riga con id_lista=$value, altrimenti 0, togli il count!! ;)

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

Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #5 il: 13 Gen 2010, 11:47:37 »
Azz grazie per la dritta, ho corretto ma non mi cambia molto....

Mi sorge un dubbio: nella vista basta questo:
<?php echo $this->row[0]; ?>
per visualizzare il contenuto dell'array $row?

Non voglio farvi perdere troppo tempo, magari è megli che mi recupero un pò di documentazione fatta bene (quella che ho letto era assurda, sviluppavano un'esempio dove tutto aveva lo stesso nome: componente, view, models, variabili...), avete consigli?

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #6 il: 13 Gen 2010, 11:59:08 »
Citazione
nella vista basta questo...

solo se hai istanziato/associato $row alla classe della view.

1.
usa sempre $db->query() e controlla il valore di ritorno, così scopri eventuali errori nella query: è una buona norma di programmazione.

2.
fatti un giro sul mio sito, magari trovi qualcosa di interessante ;)

ciao,
marco

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

Offline t3cnoSite

  • Esploratore
  • **
  • Post: 98
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #7 il: 13 Gen 2010, 12:03:01 »
Guarda, io utilizzo i metodi loadObjectList o loadAssocList per estrarre contenuto da una tabella; uno mi da una lista di oggetti, un altro mi da una lista di array associativi.
Con questi non incontro problemi.
Probabilmente potrebbe essere sbagliato stampare $row[0]; cioè magari la sintassi giusta è $row[id]...la print_r cosa ti stampa?
Se ti stampa qualcosa, il problema è dopo l'esecuzione di quel metodo, se non ti stampa nulla il problema è nella query. Utilizza inoltre i nomi delle tabelle, senza fare $db->('#__sposi') ma metti direttamente #__sposi.

Offline vitotafuni

  • Esploratore
  • **
  • Post: 92
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #8 il: 27 Feb 2010, 20:45:43 »
noo che figata
anch'io sto sviluppando un componente per gestire listenozze online
ma per un negozio di oggettistica

www.lacittadelsolealtamura.it

e manco a farlo apposta anche il mio si chiama com_listanozze (che fantasia no??) ;-))


Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #9 il: 28 Feb 2010, 11:53:28 »
Guarda il mio progetto è "quasi morto". O meglio: ho qualcosa di funzionante e che potrebbe essere completato abbastanza in fretta ma i diretti interessati non sono in grado di darmi un minimo di supporto per specifiche, test ecc.

Praticamente vorrebbero una cosa come pare a loro senza però avere tempo e voglia per fornirmi specifiche e simili. Quando avrò tempo finirò il progetto e magari lo pubblico ma non ho idea dei tempi. Se ti interessa possiamo organizzarci in qualche modo per aiutarci.

Offline jeckodevelopment

  • Administrator
  • Instancabile
  • *****
  • Post: 5695
  • Sesso: Maschio
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #10 il: 28 Feb 2010, 19:52:08 »
ma i diretti interessati non sono in grado di darmi un minimo di supporto per specifiche, test ecc.

Praticamente vorrebbero una cosa come pare a loro senza però avere tempo e voglia per fornirmi specifiche e simili.

Caro barra,
devi pensare che mmleoni e mau_develop sono utenti come te, come me, come tutti. In questo caso loro ti hanno scritto alcuni suggerimenti, per quanto fosse loro possibile (anche magari per questioni di tempo) o per quanto loro abbiano voluto aiutarti, non si può pretendere l'aiuto delle persone, ma lo si può cortesemente chiedere.
Ritorno sull'intervento di mmleoni, in realtà di dà un buon suggerimento, infatti sul suo sito puoi trovare un generatore di componenti per Joomla 1.5, che ti può aiutare nella creazione del tuo componente e potrebbe aiutare anche vitotafuni, anche se da quello che ho visto sul suo sito sembra funzionare già.

Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #11 il: 28 Feb 2010, 21:58:51 »
 8) Mi sa che sono espresso male....

Con "i diretti interessati" intendevo gli "pseudoclienti" (pseudo perchè in realtà non mi pagano) che mi hanno chieesto le specifiche della soluzione di cui stavamo discutendo.

Anzi ne approfitto per ringraziarvi perle dritte che mi avete dato  ;D

Offline jeckodevelopment

  • Administrator
  • Instancabile
  • *****
  • Post: 5695
  • Sesso: Maschio
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #12 il: 28 Feb 2010, 22:33:28 »
ti avevo frainteso barra, perdonami.
Tuttavia ribadisco il mio consiglio, dai un'occhiata al generatore di mmleoni.

Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #13 il: 28 Feb 2010, 23:32:24 »
Tranquillo, l'ho provato ma sono su linux e con wine non sono riuscito a farlo andare.

L'ho testato rapidamente da windows e fa certamente al caso mio. Come dicevo il progetto è quasi certamente morto e non ho tempo da "perderci" ora, soprattutto visto che il lavoro già fatto a distanza di un paio di mesi non è ancora stato visionato da chi mi ha chiesto un'aiuto....

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #14 il: 01 Mar 2010, 09:21:03 »
... ma sono su linux e con wine non sono riuscito a farlo andare ...

perché wine? usalo sotto mono e gira tranquillamente ;)

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

Offline vitotafuni

  • Esploratore
  • **
  • Post: 92
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #15 il: 02 Apr 2010, 10:39:42 »
si nel mio caso è un po diverso in quanto il componente è praticamente finito... vedrò di mettere una copia su un mio server così vi faccio dare un'occhiata al front-end ajax che ha impressionato parecchia gente! ci abbiamo lavorato in 2 per mesi ma ne è valsa la pena!

ma i diretti interessati non sono in grado di darmi un minimo di supporto per specifiche, test ecc.

Praticamente vorrebbero una cosa come pare a loro senza però avere tempo e voglia per fornirmi specifiche e simili.

Caro barra,
devi pensare che mmleoni e mau_develop sono utenti come te, come me, come tutti. In questo caso loro ti hanno scritto alcuni suggerimenti, per quanto fosse loro possibile (anche magari per questioni di tempo) o per quanto loro abbiano voluto aiutarti, non si può pretendere l'aiuto delle persone, ma lo si può cortesemente chiedere.
Ritorno sull'intervento di mmleoni, in realtà di dà un buon suggerimento, infatti sul suo sito puoi trovare un generatore di componenti per Joomla 1.5, che ti può aiutare nella creazione del tuo componente e potrebbe aiutare anche vitotafuni, anche se da quello che ho visto sul suo sito sembra funzionare già.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Sviluppo nuovo componente...
« Risposta #16 il: 02 Apr 2010, 10:51:24 »
attendiamo curiosi...  ;)

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

 



Web Design Bolzano Kreatif