Joomla.it Forum

Non solo Joomla... => Sviluppo => : grad 18 Jul 2013, 11:18:29

: passaggio parametri
: grad 18 Jul 2013, 11:18:29
Buongiorno a tutti! Vorrei sapere una cosa.
Ho una view con una tabella contenente un elenco di clienti e vorrei che al click del tasto NUOVO (o NEW) nella view che mi va a vedere che è una cosa tipo view=xxxx&layout=edit  mi portasse dietro alcuni parametri avendo un url del tipo view=xxx&layout=edit&id_persona=xxx&id_tipologia=xxx


Si può fare?


PS: dimenticavo, nella mia view dove ho questa tabella nella mia url ci sono già i parametri che mi servono e vorrei portarmeli dietro

[allegato eliminato automaticamente dopo un anno]
: Re:passaggio parametri
: grad 18 Jul 2013, 17:13:42
Per chi avesse il mio solito problema, ho trovato una soluzione.
Ho un po barato, ma funziona.
Praticamente nella view dove ho già i parametri me li metto dentro la sessione così:
$id_persona=JRequest::getCmd('id_persona');
$_SESSION['id_persona'] = $id_persona;


e poi nella view dove mi servono i parametri e non li posso recuperare basta fare così:
$id_persona = $_SESSION['id_persona'];
: Re:passaggio parametri
: simone83 19 Jul 2013, 00:10:44
Certo che te li puoi portare dietro, si puo fare tutto, tu hai una struttura mvc integrata di base ma si puo estendere e modificare. I bottoni che premi non sono altro che dei submit dei una form che richiamano determinate funzioni, ad esempio new ti richiama la funzione edit del controller che tu puoi modificare riscrivendola. Quindi se ti vuoi portare dietro id_persona non devi far altro che metterlo come campo hidden della form e al momento dell'invio te le troverai nella funzione edit del controller, se guardi le classi del core vedrai che la funzione edit fara un redirect al tuo layout edit, a questo redirect potrai aggingere questa variabile che ti serve per passarla alla view successiva




Comunque a tutti vi consiglio di guardarvi le classi del core per rendervi conto di cosa usate, non ci vuole nulla e molti dubbi sul funzionamento li risolve
: Re:passaggio parametri
: grad 19 Jul 2013, 09:45:59
quindi tu dici di mettere campi hidden nel form xml? tipo così:


:


<?xml version="1.0" encoding="UTF-8"?>
<form addrulepath="/administrator/components/com_anagrafiche/models/rules">
<fieldset>
<field
name="id"
type="hidden"/>
<field
name="id_persona"
type="hidden"/>
<field
name="id_tipologia_socio"
type="hidden"/>
<field
name="id_servizio"
type="sql"
default=""
label="Seleziona un servizio"
query="SELECT cod_servizio, nome_servizio FROM #__elenco_servizi"
key_field="cod_servizio"
value_field="nome_servizio"/>
</fieldset>
</form>
: Re:passaggio parametri
: simone83 19 Jul 2013, 10:23:51
Sinceramente non capisco cosa stai facendo cosa sviluppi e non mi voglio mettere ad approfondire, a me dalla tua immagine sembrava una lista una lista non estende JmodelForm ma JmodelList un xml ti serve a ben poco, li puoi mettere a mano direttamente nella form
: Re:passaggio parametri
: grad 19 Jul 2013, 10:39:46
quindi tu dici di mettere i campi hidden nella view dove ho la lista?
: Re:passaggio parametri
: simone83 19 Jul 2013, 10:59:29
e si, cosi quando invii la form invia anche quelle variabili, senno come faresti, ma come ti ho detto prima il solo aggiungere queste variabili non serve a niente, devi poi gestirle nella funzione del controller
: Re:passaggio parametri
: giovi 19 Jul 2013, 11:03:57
chiedo sin da ora scusa se non ho letto l'intera conversazione ma c'è una cosa che tengo a sconsigliare fortemente: mi riferisco al prelievo dei parametri tramite la variabile globale $_SESSION in quanto potrebbe generare contenuti imprevedibili. Se ad esempio il contenuto della variabile venisse usato per effettuare una query gli effetti potrebbero essere devastanti se un utente maligno tentasse di effettuare uan sqlinjection. Qualcuno più esperto di me potrà sicurametne confermarvi questa cosa e spiegarvi i dettagli.

Piuttosto è consigliabile quindi utilizzare la funzione getVar() in cui è possibile anche specificare da dove vengono prese queste variabili (POST, GET, cookie, ecc...)



edit: non ricordo comunque come viene generato l'indirizzo della view edit ma se le variabili fossero passate con get ti basterebbe stampare (nel controller?) il bottone con url index.php?option=tuocomponente?view=edit?variabile=<?php echo getVar(informazione); ?>
: Re:passaggio parametri
: grad 19 Jul 2013, 11:08:12
e si, cosi quando invii la form invia anche quelle variabili, senno come faresti, ma come ti ho detto prima il solo aggiungere queste variabili non serve a niente, devi poi gestirle nella funzione del controller


Non saprei proprio come procedere... le variabili alla view dove ho la form arrivano, però quando poi clicco per inserire mi da questo errore:


Salvataggio fallito con il seguente errore: TableServizioassociatoaggiuntivo: :store fallito - Cannot add or update a child row: a foreign key constraint fails (`joomla_test`.`joomlatest_servizi_aggiuntivi`, CONSTRAINT `joomlatest_servizi_aggiuntivi_ibfk_1` FOREIGN KEY (`id_persona`) REFERENCES `joomlatest_anagrafiche_persone` (`id`) ON DELETE CASCADE) SQL=INSERT INTO `joomlatest_servizi_aggiuntivi` (`id`,`id_persona`,`id_tipologia_socio`,`id_servizio`) VALUES ('0','','','1')

Praticamente i campi mi rimangono vuoti....
: Re:passaggio parametri
: simone83 19 Jul 2013, 11:21:41
questo errore non dipende di certo da questa cosa ma da come gestisci il tutto, il tuo errore lo da il mysql, se come avevi fatto prima ti funzionava usa quello.
: Re:passaggio parametri
: grad 19 Jul 2013, 11:25:30
eh no manco prima funzionava.. rimangono sempre vuoti i campi values... non riesco a settarli... nella view del form metto pure $this->item->PARAMETRO; e nemmeno così va...
la view è questa:


:

<?php 
   
// no direct access
   
defined'_JEXEC' ) or die( 'Restricted access' );

   
$option JRequest::getCmd('option');


   
JHtml::_('behavior.tooltip');
   
JHtml::_('behavior.formvalidation');
   
 
/*Valori che ho bisogno di mettere dentro  nella query INSERT*/
   
$id_persona $_SESSION['id_persona'];
   
$id_tipologia_socio $_SESSION['id_tipologia_socio'];
   
   
$this->item->id_persona $id_persona;
   
$this->item->id_tipologia_socio $id_tipologia_socio;
?>

<form action="index.php" method="post" name="adminForm" id="servizioassociatoaggiuntivo-admin-form" class="form-validate">
   <input type="hidden" name="option" value="<?=$option?>" />
   <input type="hidden" name="task" value="" />
   <input type="hidden" name="id" value="<?=$this->item->id?>" />
   <input type="hidden" name="id_persona" value="<?=$id_persona?>" />
   <input type="hidden" name="id_tipologia_socio" value="<?=$id_tipologia_socio?>"/>
   <?php echo JHtml::_('form.token');
   echo 
"id_persona->" $this->item->id_persona "  ";
   echo 
"id_tipologia_socio->" $this->item->id_tipologia_socio;?>

   
   <?$this->item->id_persona=$id_persona;?>
   
   <fieldset class="adminform">
   
      <legend><?=JText::_( 'Servizi da poter aggiungere' ); ?></legend>
      <ul class="adminformlist">
      <?   foreach ($this->form->getFieldset() as $field)
         { ?>
            <li><?=$field->label?><?=$field->input?></li>
      <?   } ?>
      </ul>
     
   </fieldset>
</form>
: Re:passaggio parametri
: giovi 19 Jul 2013, 11:27:48
@grad: ma per l'edit stai utilizzando i bottoni della toolbar? new, save, save2copy, ecc....?
: Re:passaggio parametri
: grad 19 Jul 2013, 11:29:10
@grad: ma per l'edit stai utilizzando i bottoni della toolbar? new, save, save2copy, ecc....?


sisi difatti questa è la view.html.php associata alla view edit:


:

<?php
   defined
('_JEXEC') or die();
   
   
jimport'joomla.application.component.view' );
   
   class 
AnagraficheViewServizioassociatoaggiuntivo extends JView
   
{
      function 
display($tpl null)
      {
         
// Get data from the model
         
$item $this->get'Item' );
         
$form $this->get'Form' );
         
         
// Disable main menu
         
JRequest::setVar('hidemainmenu'true);
         
         
// Toolbar
         
JToolBarHelper::titleJText::_'COM_ANAGRAFICHE_SERVIZI_ASSOCIATI_NEW' ), 'generic.png' );
         
         
JToolBarHelper::save('servizioassociatoaggiuntivo.save');
         
JToolBarHelper::save2new('servizioassociatoaggiuntivo.save2new');
         
JToolBarHelper::cancel('servizioassociatoaggiuntivo.cancel'false 'JTOOLBAR_CANCEL' 'JTOOLBAR_CLOSE');
         
         
$this->item $item;
         
$this->form $form;
         
         
parent::display($tpl);
         
         
JText::script('COM_ANAGRAFICHE_ERRORE_VALIDAZIONE');
      }   
   }
?>

: Re:passaggio parametri
: giovi 19 Jul 2013, 11:35:06
per chiarire meglio la tua richiesta, tu hai bisogno che dall'elenco delle entry del tuo componente tu possa passare dei valori (che hai già) alla pagina di creazione di una nuova entry, è giusto?

Quindi devi recuperare questi valori nella view dell'edit ed elaborarli. Giusto?
: Re:passaggio parametri
: grad 19 Jul 2013, 11:38:11
Esattamente!O meglio, i valori li ho recuperati dalla view con la lista dei servizi, poi IN quelal vista clikko sul pulsante nuovo e vado a scegliere un servizio. In quella view, dove scelgo il servizio devo avere dei parametri che ho recuperato prima  nella lista, quindi io nella view dell'edit ho già tutto pronto. A quel punto devo eleborarli mandandoli dentro la query insert into che joomla fa da solo... spero di esssere stato abbastanza chiaro, nel caso dimmelo che cerco di spiegarmi ancora meglio... è che con il pattern MVC e la gestione che ne fa joomla non mi trovo granchè bene
: Re:passaggio parametri
: giovi 19 Jul 2013, 11:45:59
perdonami quindi tu nella view di modifica delle entry hai già i valori? Cioè se tu facessi un

echo $tuoValore;

nella view, stampi correttamente l'informazione che ti serve o che vuoi elaborare? E dopo averla elaborata se stampi

echo $valoreElaborato;

ottieni già ciò che ti serve alla fine?

Se si in che punto trovi esattamente la difficoltà e quali sono le necessità specifiche?

Probabimente sono io che non ho capito quindi ti servirà spiegarmelo un po più lentamente :)
: Re:passaggio parametri
: simone83 19 Jul 2013, 11:51:57
è che con il pattern MVC e la gestione che ne fa joomla non mi trovo granchè bene


purtroppo come in tutte le cose bisogna fare esperienza, sicuramente all'inizio è un po spiazzante ma dopo ti assicuro che è una pacchia, comunque molte di queste cose con l'inserimento di valori multipli condizionali si fanno in javascript facendo richieste asincrone in ajax, ma qui si va a complicare ancora di piu
: Re:passaggio parametri
: grad 19 Jul 2013, 11:55:21
perdonami quindi tu nella view di modifica delle entry hai già i valori? Cioè se tu facessi un

echo $tuoValore;

nella view, stampi correttamente l'informazione che ti serve o che vuoi elaborare? E dopo averla elaborata se stampi

echo $valoreElaborato;

ottieni già ciò che ti serve alla fine?

Se si in che punto trovi esattamente la difficoltà e quali sono le necessità specifiche?

Probabimente sono io che non ho capito quindi ti servirà spiegarmelo un po più lentamente :)


Nono perdonami tu.. sono io che spesso non riesco a spiegarmi.
Allora, praticamente nell'immagine che ho allegato prima si vede la mia lista di servizi. Io ne voglio aggiungere un'altro, per esempio. A quel punto cosa faccio? Mi prendo dei valori in quella vista (view allegata prima) che sonoid_persona e id_tipologia_socio, e nella view aperta dopo il click sul pulsante NUOVO, li recupero questi valori.
Adesso nella view di inserimento nuovo servizio ho questa cosa qua (guarda allegato), riesco a stampare i valori RECUPERATI dalla view precedentemente visitata MA non riesco ad inserirli come valori da inserire nella query insert... Quindi il mio problema sostanziale è: mettere i miei valori recuperati (che te li ho stampati a video per far vedere che ce li ho) dentro i VALUES della query di inserimento

[allegato eliminato automaticamente dopo un anno]
: Re:passaggio parametri
: giovi 19 Jul 2013, 11:57:38
forse ho capito ma non sperarci al 100%  ;D
Tu hai già predisposto il database per accettare questi dati ed anche il file contenente i campi di ogni entry?

Cioè nel file sql di installazione hai creato i campi e joomla sa che esistono? C'è un file xml per comunicarglielo
: Re:passaggio parametri
: simone83 19 Jul 2013, 11:58:44
ma come inserisci questi dati utilizzando un oggetto JTable o brutalmente con una query?
: Re:passaggio parametri
: giovi 19 Jul 2013, 12:02:49
ecco, il file dovrebbe essere admin\models\forms\tuocomponente.xml

Se qui ci sono i campi sotto forma di standard form fields (li gestisci come si gestiscono i parametri del componente) il model - sempre se hai seguito la procedura standard per la sua creazione - va a prendere direttamente questi dati dalla view, senza che modifichi nulla nel model stesso.. L'unico accorgimento è che in questo file gli specifichi che questi campi sono hidden così non dovrai impostarli tu nella view.
: Re:passaggio parametri
: grad 19 Jul 2013, 12:05:38
forse ho capito ma non sperarci al 100%  ;D
Tu hai già predisposto il database per accettare questi dati ed anche il file contenente i campi di ogni entry?

Cioè nel file sql di installazione hai creato i campi e joomla sa che esistono? C'è un file xml per comunicarglielo

Sono hidden nel xml ma non si riempiono come hai visto dall'errore mysql

Certo è già tutto predisposto e ho pure la form fatta con xml così


:

<?xml version="1.0" encoding="UTF-8"?>
<form addrulepath="/administrator/components/com_anagrafiche/models/rules">
   <fieldset>
      <field
         name="id"
         type="hidden"/>
      <field
         name="id_persona"
         type="hidden"/>
      <field
         name="id_tipologia_socio"
         type="hidden"/>
      <field
         name="id_servizio"
         type="sql"
         default=""
         label="Seleziona un servizio"
         query="SELECT cod_servizio, nome_servizio FROM #__elenco_servizi"
         key_field="cod_servizio"
         value_field="nome_servizio"/>
   </fieldset>
</form>
: Re:passaggio parametri
: giovi 19 Jul 2013, 12:43:55
Perchè
:
<input type="hidden" name="id_persona" value="<?=$id_persona?>" />e non
:
<input type="hidden" name="id_persona" value="<?php echo $id_persona?>" />?
Stessa cosa vale per la tipologia socio
: Re:passaggio parametri
: simone83 19 Jul 2013, 12:47:12
Perchè
:
<input type="hidden" name="id_persona" value="<?=$id_persona?>" />e non
:
<input type="hidden" name="id_persona" value="<?php echo $id_persona?>" />?
Stessa cosa vale per la tipologia socio


sono la stessa cosa <?= è un abbreviazione fa l'echo
: Re:passaggio parametri
: giovi 19 Jul 2013, 12:47:35
Inolte perchè fai questa assegnazione:
:
$this->item->id_persona = $id_persona;
   $this->item->id_tipologia_socio = $id_tipologia_socio;
Ormai l'oggetto è stato costruito con i valori che hai già ottenuto, inizializzarli poco prima che l'oggetto verrà distrutto a che serve? :)

Inoltre ho visto che ti ostini ad utilizzare $_session anzichè getVar: tu gli hacker non li temi proprio eh?  ;D
: Re:passaggio parametri
: giovi 19 Jul 2013, 12:50:08
sono la stessa cosa <?= è un abbreviazione fa l'echo
Non ho idea di che versione di php abbia il tuo server ma non tutti supportano le shorthands prima della 5.4.0 e non tutti consentono di usarle. Al di la di questo i campi nel form stesso vengono popolati? E se usi l'echo classico?


edit: casualmente la stampa delle variabili funzionante l'hai fatta proprio con echo mentre questa che non va l'hai fatta con l'abbreviazione. Potrebbe non essere una coincidenza, fammi sapere
: Re:passaggio parametri
: grad 19 Jul 2013, 13:38:54
Inolte perchè fai questa assegnazione:
:
$this->item->id_persona = $id_persona;
   $this->item->id_tipologia_socio = $id_tipologia_socio;
Ormai l'oggetto è stato costruito con i valori che hai già ottenuto, inizializzarli poco prima che l'oggetto verrà distrutto a che serve? :)

Inoltre ho visto che ti ostini ad utilizzare $_session anzichè getVar: tu gli hacker non li temi proprio eh?  ;D


perchè  $this->item->id_persona  senza dargli = $id_persona è vuoto


 se io lo stampo senza fargli l'assegnazione non stampa nulla.... è questo il mio problema!!!
: Re:passaggio parametri
: giovi 19 Jul 2013, 13:57:52
Qui stai facendo un giro di peppe inutile:
   $id_persona = $_SESSION['id_persona'];
   $id_tipologia_socio = $_SESSION['id_tipologia_socio'];
   
   $this->item->id_persona = $id_persona;
   $this->item->id_tipologia_socio = $id_tipologia_socio;

Finisce che magari il problema era solo una lettera in più/in meno/sbagliata.

E' come dire devo mettere le penne a posto ma prima di metterle nel portapenne le passo dentro una bacinella... A che ti serve la doppia assegnazione? a niente!
anzi per assurdo puoi fare direttamente


:
   <input type="hidden" name="id_persona" value="<?php echo $_SESSION['id_persona']; ?>" />
Così viene popolato il campo input?
: Re:passaggio parametri
: grad 19 Jul 2013, 14:31:09
giovi ti ringrazio tantissimo epr la disponibilità che mi stai dando .
Comunque no purtroppo non funziona nemmeno così .... il vampo values rimane sempre vuoto... l'unico che cambia è il numero apapartenente al servizio selezionato
: Re:passaggio parametri
: giovi 19 Jul 2013, 15:02:42
cioè se tu stampi la variabile la visualizzi, mentre se stampi il valore nell campo input no, sbaglio?

Cioè nel sorgente html ottieni questo:
:
<input type="hidden" name="id_persona" value="" /> Quindi il problema è proprio qui?
: Re:passaggio parametri
: grad 19 Jul 2013, 15:06:26
no forse non ci siamo capiti...
quello è l'edit.php da quanto ho capito è una base per l'MVC di joomla!


Se faccio <?php echo $this->item->id_persona; ?> non mi stampa NIENTE. Quindi vuol dire che è vuoto. Il mio obiettivo non è riempire il form che vedi fatto in html, quello serve solo per la modifica da quanto ho capito. a me serve INSERIRE degli elementi nel mio db!
In qualche modo devo riempire le VALUES della mia query...
: Re:passaggio parametri
: giovi 19 Jul 2013, 15:10:59
e se non lo fai tramite la view edit come lo fai? :) In quale momento esatto ti serve riempire il database, durante l'edit o durante altre operazionoi (e se si quali?)

Nel primo caso la procedura è questa: riempi il campo e poi il model pensa a tutto.
: Re:passaggio parametri
: grad 19 Jul 2013, 15:17:40
io voglio riempire il database quando clikko il pulsante SALVA. per me finisce li.. nella mia testa è tutto così semplice, ma qui sta diventando un casino e non mi ci trovo per nulla...


Nel primo caso la procedura è questa: riempi il campo e poi il model pensa a tutto.


la view edit.php mi dovrebbe creare il modulo in questa maniera no?
:

<fieldset class="adminform">

<legend><?=JText::_( 'Servizi da poter aggiungere' ); ?></legend>
<ul class="adminformlist">
<? foreach ($this->form->getFieldset() as $field)
{ ?>
<li><?=$field->label?><?=$field->input?></li>
<? } ?>
</ul>

</fieldset>


e il form è questo scritto in xml
:

<?xml version="1.0" encoding="UTF-8"?>
<form addrulepath="/administrator/components/com_anagrafiche/models/rules">
<fieldset>
<field
name="id"
type="hidden"/>
<field
name="id_persona"
type="hidden"/>
<field
name="id_tipologia_socio"
type="hidden"/>
<field
name="id_servizio"
type="sql"
default=""
label="Seleziona un servizio"
query="SELECT cod_servizio, nome_servizio FROM #__elenco_servizi"
key_field="cod_servizio"
value_field="nome_servizio"/>
</fieldset>
</form>


quindi mi stai dicendo che devo modificare il model?


il mio model è questo:
:

<?php
defined('_JEXEC') or die();

jimport'joomla.application.component.modeladmin' );

class AnagraficheModelServizioassociatoaggiuntivo extends JModelAdmin
{

public function getForm($data = array(), $loadData true)
{
// Prendo il form MODIFICO QUESTO?
$form $this->loadForm('com_anagrafiche.servizioassociatoaggiuntivo''servizioassociatoaggiuntivo', array('control' => 'jform''load_data' => $loadData));

if (!$form
{
return false;

else 
{
return $form;
}
}

public function loadFormData()
{
// Load form data
$data $this->getItem();
return $data;
}
}
?>




: Re:passaggio parametri
: giovi 19 Jul 2013, 15:25:33
nono ti sto dicendo che nella view edit.php devi inserire a mano i vari campi e non come fa joomla. Anche se è un po sporco, è il metodo più rapido:

:
<fieldset class="adminform">
<legend><?=JText::_( 'Servizi da poter aggiungere' ); ?></legend>
                <input type="hidden" name="id_persona" value="<?php echo $_SESSION['id_persona']; ?>" />
                <input type="hidden" name="id_tipologia_socio" value="<?php echo $_SESSION['id_tipologia_socio']; ?>" />
                <ul class="adminformlist">
<?php foreach ($this->form->getFieldset() as $field
                        if (
$field->label!="id_persona" and $field->label!="id_tipologia_socio")
?>

<li><?=$field->label?><?=$field->input?></li>
<? } ?>
</ul>
</fieldset>

Il model riconosce automaticamente i campi e se la vede lui a salvarli. Prova
: Re:passaggio parametri
: grad 19 Jul 2013, 15:50:57
c'ho provato ma niente...


allora per essere PRECISISSIMO ti posto tutta la mia edit.php e l'errore di mysql:


edit.php
:

<?php 
   defined
'_JEXEC' ) or die( 'Restricted access' );


   
$option JRequest::getCmd('option');


   
JHtml::_('behavior.tooltip');
   
JHtml::_('behavior.formvalidation');
   
   
$id_persona $_SESSION['id_persona'];
   
$id_tipologia_socio $_SESSION['id_tipologia_socio'];
   
?>

<form action="index.php" method="post" name="adminForm" id="servizioassociatoaggiuntivo-admin-form" class="form-validate">
   <input type="hidden" name="option" value="<?=$option?>" />
   <input type="hidden" name="task" value="" />
   <?php echo JHtml::_('form.token');
   echo 
"id_persona->" $id_persona "  ";
   echo 
"id_tipologia_socio->" $id_tipologia_socio;?>

   
   <fieldset class="adminform">   
      <legend><?=JText::_( 'Servizi da poter aggiungere' ); ?></legend>
                <input type="hidden" name="id_persona" value="<?php echo $_SESSION['id_persona']; ?>" />
                <input type="hidden" name="id_tipologia_socio" value="<?php echo $_SESSION['id_tipologia_socio']; ?>" />
                <ul class="adminformlist">
      <?php   foreach ($this->form->getFieldset() as $field
                        if (
$field->name!="id_persona" and $field->name!="id_tipologia_socio")
         { 
?>

            <li><?=$field->label?><?=$field->input?></li>
      <?   } ?>
      </ul>
   </fieldset>
</form>


errore mysql quando clicco su salva:
:
Salvataggio fallito con il seguente errore: TableServizioassociatoaggiuntivo: :store fallito - Cannot add or update a child row: a foreign key constraint fails (`joomla_test`.`joomlatest_servizi_aggiuntivi`, CONSTRAINT `joomlatest_servizi_aggiuntivi_ibfk_1` FOREIGN KEY (`id_persona`) REFERENCES `joomlatest_anagrafiche_persone` (`id`) ON DELETE CASCADE) SQL=INSERT INTO `joomlatest_servizi_aggiuntivi` (`id_persona`,`id_tipologia_socio`,`id_servizio`) VALUES ('','','4')



: Re:passaggio parametri
: giovi 19 Jul 2013, 16:08:22
Per sicurezza... stai lavorando su Joomla 2.5??
Io non ho così tanti campi nella view e non mi torna qualche attributo del form:

Ad esempio io ho
<form action="<?php echo JRoute::_('index.php?option=com_simplefilemanager&layout=edit&id='.(int) $this->item->id); ?>" method="post" name="adminForm"> mentre tu hai come action solo index.php

Poi io ho questo nel campo task:
<input type="hidden" name="task" value="simplefilemanager.edit" />
A te invece il campo task è vuoto!

Non hai un'installazione remota dove puoi farmi vedere un backed di prova?
: Re:passaggio parametri
: grad 19 Jul 2013, 16:12:24
eh no... sono in locale, altrimenti te l'avrei fatto vedere molto volentieri.. tanto è un sito di test, che serve a me per imparare a programmare...
Comunque ho seguito come base per iniziare questa guida [size=78%]http://library.logicsistemi.it/it/joomla/developing-joomla-25-mvc-components (http://library.logicsistemi.it/it/joomla/developing-joomla-25-mvc-components)[/size]

PS: la mia versioen di joomla è la 2.5.11
: Re:passaggio parametri
: giovi 19 Jul 2013, 16:15:54
ti posso consigliare di installare il componente su un sito test (crealo su una piattaforma gratuita qualunque) in modo che sia possibile vedere le modiiche in tempo reale. Altrimenti ad ogni modifica seguiranno 3 post e non ne verremo mai a capo! Comunque sono sicuro che il metodo sia questo perchè avevo la tua stessa esigenza qualche tempo fa con un'estensione... di prova :)
: Re:passaggio parametri
: grad 19 Jul 2013, 16:24:24
stasera a casa faccio un dominio veloce su altervista e installo un joomla di test e facciamo delel prove
: Re:passaggio parametri
: grad 19 Jul 2013, 19:20:41
Hosting fatto.. il sito lo puoi trovare qua: http://testcomponente.joomlahost.it/ (http://testcomponente.joomlahost.it/)


entro stanotte lo sistemo e vi do user e pass
: Re:passaggio parametri
: grad 21 Jul 2013, 18:20:11
Il componente l'ho installato correttamente nel sito test http://testcomponente.joomlahost.it/ (http://testcomponente.joomlahost.it/) 
Il componente si chiama Anagrafiche.
L'elenco dei servizi funziona, l'elenco dei servizi soci funziona e pure quello dei soci.
2 sono i problemi:
- il primo il più semplice è l'aggiunta di un servizio ad una tipologia di socio, che ho raggirato con un list sql che poi potrete vedere.
- il secondo è invece in gestione anagrafica/lista servizi dove si vedono i due servizi: quelli base a seconda del tipo del socio e quelli PERSONALI, su richiesta del cliente. Il problema è che non inserisce il servizio. Ma questo lo sappiamo già tutti bene perchè è due pagine di forum che ne stiamo discutendo.


Allora:


link: http://testcomponente.joomlahost.it/ (http://testcomponente.joomlahost.it/)
: Re:passaggio parametri
: giovi 23 Jul 2013, 23:00:10
scusa il ritardo ma sono rientrato solo ieri sera. Mi sono permesso di installare extplorer per poter verificare il contenuto dei file direttamente ma mi sorge un dubbio: qual'è tra le tante la view su cui stiamo lavorando? Servizioassociatoaggiuntivo?
edit: Dubbio risolto.

Ti consiglio di cancellare le pwd dal forum, chiunque potrebbe accedere al sito e cancellare tutto!
: Re:passaggio parametri
: giovi 23 Jul 2013, 23:11:35
Il problema potrebbe essere perchè non hai creato un campo per salvare il dato id_persona :) Infatti hai:
CREATE (http://search.mysql.com/search?site=refman-51&q=CREATE&lr=lang_en) TABLE (http://search.mysql.com/search?site=refman-51&q=TABLE&lr=lang_en) #__associazione_servizi (
Probabilmente l'id persona lo stai inserendo in un campo che non è destinato a lui
: Re:passaggio parametri
: grad 24 Jul 2013, 09:13:05
ciao giovi sei sempre troppo disponibile!  ;D
Comunque è sbagliato... il mio sql è
: (sql)

CREATE TABLE #__associazione_servizi (
  id_associazione INTEGER auto_increment not null,
  id_tipologia_socio INTEGER NOT NULL,
  id_servizio INTEGER NOT NULL,
  PRIMARY KEY id_associazione(id_associazione),
  INDEX id_tipologia_socio_key(id_tipologia_socio),
  INDEX id_servizio_key (id_servizio),
  FOREIGN KEY (id_tipologia_socio) REFERENCES #__tipologia_socio(id) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY (id_servizio) REFERENCES #__elenco_servizi(cod_servizio) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;


Se preferisce in privato ti mando lo zip del componente tanto è per un test...
: Re:passaggio parametri
: giovi 24 Jul 2013, 18:38:42
puoi controllare quello online? Io l'ho visto tramite extplorer, non vorrei che non ci troviamo con i file :)
: Re:passaggio parametri
: grad 29 Jul 2013, 13:36:44
causa troppa difficoltà nel fare questa cosa direi di abbandonare :'(