Joomla.it Forum

Non solo Joomla... => Sviluppo => : keyascii 23 Feb 2011, 14:14:38

: Nuovo plugin, ma le query sql dove le metto?
: keyascii 23 Feb 2011, 14:14:38
Salve,
ho quasi ultimato la scrittura di un nuovo plugin che, una volta testato, metterò a disposizione di chi voglia utilizzarlo.
Il plugin, necessita di cb installato e aggiunge in quanto, si appoggia alla tabella jos_comprofiler.
Ha bisogno di due nuovi campi in questa tabella e vorrei che li creasse in automatico in fase di installazione.
Come posso fare?
Grazie in anticipo
: Re:Nuovo plugin, ma le query sql dove le metto?
: mmleoni 23 Feb 2011, 14:55:53
ciao,
 sinceramente non mi pare proprio che tu possa utilizzare install/sql ed inserire l'alter table. puoi provare, ma tieni presente che non è documentato e potrebbe dare problemi in altre release...

ciao,
marco
: Re:Nuovo plugin, ma le query sql dove le metto?
: keyascii 23 Feb 2011, 15:49:27
Non penso che il motivo siano le release in quanto, se ho dei campi da me aggiunti nella tabella comprofiler di cb, non vanno certo persi con le nuove release.
Se il problema invece è l'impossibilità di usare il comando alter table è un altro discorso. Se non si polo non si pole!!!  :o :o :o :o
In tal caso, come faccio ad informare l'utente che vuole installare il mio plugin, di creare dei campi, denominati obbligatoriamente in una certa maniera?
: Re:Nuovo plugin, ma le query sql dove le metto?
: mmleoni 23 Feb 2011, 15:58:55
io parlavo di releases di joomla ovviamente, parlando invece di cb consiglio di non usare nomi comuni per i campi ;)

la possibilità di inserire sql non è documentata per l'installer di joomla quando si tratta di plugin.

io farei un componente 'dummy' che installa il plugin. trattandosi di componente puoi inserire, oltre al sql, anche un file install.php che compia le operazioni necessarie. il che ti consentirebbe anche di verificare le dipendenze...

ciao,
marco

: Re:Nuovo plugin, ma le query sql dove le metto?
: mau_develop 23 Feb 2011, 16:07:35
In tal caso, come faccio ad informare l'utente che vuole installare il mio plugin, di creare dei campi, denominati obbligatoriamente in una certa maniera?
-------------------------------------------------------------
devi fare una tabella in relazione con quella dell'altra extension, toccare le cose degli altri non è mai una buona idea e può portare problemi.

M.
: Re:Nuovo plugin, ma le query sql dove le metto?
: keyascii 23 Feb 2011, 16:42:23
Scusate ma, pur comprendendo i consigli, non avete risposto alla mia domanda.
devi fare una tabella in relazione con quella dell'altra extension, toccare le cose degli altri non è mai una buona idea e può portare problemi.
Secondo me non ha senso mau, anche se mi rendo conto del gap di conoscenza della materia che c'è tra me e te, ma permettimi di dirti, che senso ha avere installato cb e non inserire nuovi campi nel profilo? Invece di inserirli da pannello di controllo di CB, lo faccio direttamente con 2 semplicissime query. Non vado a modificare il codice di CB ma quello per cui CB è nato.
Se devo creare una tabella ad hoc per gestire 2 capi per ogni utente, non basta più il plugin ma ho bisogno di un componente per la gestione dei dati.
Tra le tante cose che CB permette, una di queste è proprio la personalizzazione dei campi del profilo e il tutto, restando sempre indipendente dalle release future.
O mi sbaglio?
: Re:Nuovo plugin, ma le query sql dove le metto?
: mau_develop 23 Feb 2011, 17:00:24
non è che ti sbagli o hai ragione .... ribadisco quello che dico sempre, col codice puoi fare di tutto o quasi e se non guardi al futuro di ciò che scrivi e non esegui test sul codice puoi fare a meno di considerare diversi componenti, moduli e plugin... sono tutti la stessa cosa e sono composti sostanzialmente da un solo file.

A volte è + importante l'obbiettivo di come lo si raggiunge per cui è veramente difficile dare giudizi su giusto o sbagliato.

M.
: Re:Nuovo plugin, ma le query sql dove le metto?
: keyascii 23 Feb 2011, 21:21:56
Scusa mau se insisto ma la tua risposta non c'entra nulla con la mia domanda che riformulo in modo diverso:
ho costruito un plugin che si appoggia su due campi opportunamente creati nella tabella comprofiler di CB.
Visto che il componente in questione (cb-comprofiler) è perfetto per l'aggiunta di campi nel profilo degli utenti, esiste il modo di creare automaticamente questi due campi in fase di installazione del plugin?
: Re:Nuovo plugin, ma le query sql dove le metto?
: mau_develop 23 Feb 2011, 21:35:14
la possibilità di inserire sql non è documentata per l'installer di joomla quando si tratta di plugin.

io farei un componente 'dummy' che installa il plugin. trattandosi di componente puoi inserire, oltre al sql, anche un file install.php che compia le operazioni necessarie. il che ti consentirebbe anche di verificare le dipendenze...
..oppure fai un file sql e scrivi che devono caricarlo.

altre vie non ne vedo

M.
: Re:Nuovo plugin, ma le query sql dove le metto?
: keyascii 23 Feb 2011, 21:41:57
Ok grazie... alla fine mi sa che scrivo un bel file txt IMPORTANT con dentro le indicazioni necessarie e casomai con dentro le due query da eseguire.
Potrebbe essere una soluzione valida secondo voi?
: Re:Nuovo plugin, ma le query sql dove le metto?
: dazo 27 Feb 2011, 16:38:40
Sui plugin non si può fare:


1
:
<install>
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>
e poi crei il tuo file .sql in cui inserisci la query

2
   
:
<installfile>install.php</installfile>e sull'install.php ti scrivi la query per aggiungere i campi così essendo in un php hai il vantaggio di poter verificare prima se esiste la tabella e se già esistono i campi.

?
      
Se non si può fare metti nel plugin un controllo  del tipo: 'se non esistono i campi creali'