Joomla.it Forum
Componenti per Joomla! => Gestione Form => : Fabri64 09 Feb 2014, 10:04:53
-
Sto usato Connectivity v5 per la visualizzazione dei dati di un database creato con Chronoform V4. Ho estratto in questo modo dei record. Volevo cliccanco sul cognome aprire un form chiamato "modifica " dove appunto modificare il record stesso.
Quindi in view likable ho scritto:
visualizza.cognome
e in links devo inserire il codice per il collegamento. Solo che non riesco a collegarlo, o meglio riesco ad aprire il form ma non il record specifico.
visualizza.cognome:index.php?option=com_chronoforms&chronoform=modifica......e poi non so come fare
-
per prima cosa devi creare un form con chronoforms v5 che gestisca tutti i campi già esistenti nella tabella che hai già creato con la versione v4.
Il form avrà quindi tutti i campi corrispondenti alla tabella e un campo submit.
Attenzione.
1) nel form i nomi dei campi devono essere inseriti con notazione: tuo_model[campo]
2) nel form devi inserire un campo nascosto con il nome dell'id (campo chiave primaria) della tabella: tuo_model[id]
Nell'area setup del form inserirai le seguenti actions
in On load -> Html (Render form)
in On submit -> Connection action
in edit di questa
In Connection's name il nome della tua connessione5
In Connection's action scrivi save
salvi tutto normalmente.
Apri ora la connessione5 e vai in Front list ->Settings
in Edit linkable inserisci con il model e il campo che vuoi rendere linkabile: tuo_model.campo
vai ora in Actions e selezioni a sinistra edit
a destra in form event inserisci: nome_tuo_form:load
vai in Permissions
a sinistra selezioni uno per volta index e edit e a destra assegni i permessi alle categorie di utenti che desideri.
Salvi tutto e dovrebbe essere pronto.
-
Ah ok...allora devo passare da chronoform5. Allora provo, anche perchè ho visto che le due strutture dei database sono diferenti . Chissà perchè...
-
Fatto.....compare la lista con il campo, io ho messo cognome, da cliccare. Clicco ma compare una pagina bianca. anche perchè fa riferimento a chronoconnectivity e non a chronoform, infatti sulla barre degli indirizzi compare:
http://www.scdcittadisaluzzo.it/it/component/chronoconnectivity5/?cont=lists&ccname=visualizza&act=edit&gcb=28
-
No scusa...come non detto. Avevo sbagliato il nome del form. Solo che i campi sono vuoti...non mi ha recuperato L'ID del record
-
Non c'è un'altro sistema senza passare da chronoform 5 e usando la versione4?
-
Mi sono dimenticato due passaggi importanti nella prima esposizione della procedura.
1) nel form i nomi dei campi devono essere inseriti con notazione: tuo_model[campo]
2) nel form devi inserire un campo nascosto con il nome dell'id (campo chiave primaria) della tabella: tuo_model[id]
-
Mamma mia ....un lavorone!! Quindi non c'è possiblità di passare direttamente da CF4?
-
1) No, non è un lavorone.
2) Non è possibile usare il form di chronoforms v4 non è compatibile. Dovresti usare chronoconnectivity v4, ma è diversa la modalità, che è già stata descritta in un guida che trovi nel post in evidenza in questa sezione del forum.
-
Ok...ho fatto. Tutto bene solo che non posso aggiornare il record. Cliccando su submit mi compare una pagina bianca
-
???
-
Niente...non riesco ad aggiornare il record
-
controlla di aver messo il link in edit linkable e non in view linkable
-
Si è in linkable
-
Linkable sono tutti e due. Lo hai messo in edit o view
-
Si scusa...in edit
-
In On submit del form quali azioni sono state inserite ?
-
Connection action
DB Save
-
DB save non serve, puoi toglierla.
save è sufficiente quello in connection's action
-
Ok tolto---
Non si aggiorna lo stesso...pagina bianca
[allegato eliminato automaticamente dopo un anno]
-
non capisco, deve ritornare alla connessione e aggiornare il record chiamante.
Ma non sono necessarie altre azioni oltre quelle indicate nella procedura. Nemmeno in On load dove deve esserci solo HTML (render form)
-
Trovato
In html (render form) alla voce relativ url ho messo NO e cosi si aggiorna!!!
-
Rimane ancora un cosa da risolvere
Aveve messo nel CF4 questo codice per visualizzare un'immagine relativa al record
<?php if ($form->data['immagine']<>"") { ?>
<img style="border: 1px solid #000000;" class="caption" title="{}"
src="<?php echo Juri::base()."media/database/foto/".$form->data['immagine']; ?>"
alt="immagine" height="200" />
<?php } ?>
adesso non compare nulla
-
in chronoconnectivity4 il recupero dei valori dei campi in php dovrebbe essere
$row['nome_model']['nome_campo'];
-
Bastava solo aggiungere['nome_model']
<?php if ($form->data ['visualizza']['immagine'] <>"") { ?>
<img style="border: 1px solid #000000;" class="caption" title="{}"
src="<?php echo Juri::base()."media/database/foto/".$form->data['visualizza']['immagine']; ?>"
alt="visualizza.immagine" height="200" />
<?php } ?>
Quindi da come ho capito è chronoconnectivity 5 che gestisce il tutto....
Con CF4 avevo anche messo,tramite un tuo post, la possibilità di stampare:
<div style="float: right; clear:left;" id="PSR_print"><a href="<?php echo JURI::base()."elenco-iscritti.html?option=com_chronoforms&chronoform=visualizzacategoria&valore=".Jrequest::getVar('valore',0,'GET','INT');?>"onclick="printDiv('foo')"><img src="<?php echo JURI::base().'images/M_images/printButton.png';?>" alt="Stampa"/></div>
<div id="foo">
<!-- div di inizio area di stampa -->
</div><!-- chiusura div foo di stampa -->
e ora non funziona più
-
E non riesco nemmeno a caricare un immagine....visualizzo l'immagine che avevo caricato in precedenza con CF4, ma ora non riesco a cambiarla.
-
uffa!!!
-
Niente..non riesco a caricare un immagine
-
Mi sono dimenticato due passaggi importanti nella prima esposizione della procedura.
1) nel form i nomi dei campi devono essere inseriti con notazione: tuo_model[campo]
2) nel form devi inserire un campo nascosto con il nome dell'id (campo chiave primaria) della tabella: tuo_model[id]
questa procedura vale anche per chronoforms V5?
-
questa procedura vale anche per chronoforms V5?
N. 1 in caso di uso del model SI.
N. 2 funziona anche per Chrornoforms V5, che però mette a disposizione anche nell'action db save la possibilità di aggiungere un nuovo record o la registrazione-modifica del record aperto il lettura.
-
in questa mia "full immersion" di chronoforms e chronoconnettivity ci sto perdendo la testa, sto cercando di creare una semplice rubrica con qualche campo di ricerca filtrabile, ma non ci sto riuscendo.
Ti faccio una domanda bruciapelo e mi basta un SI oppure uno NO per capire.
Se volessi realizzare un form dove la prima parte dei dati da inserire (l'anagrafica, il nome ecognome e indirizzo della persona) venga compilata in automatico inserendo o scegliendo da un campo il cognome un id o il codice fiscale, secondo te è possibile fare ciò con chronoforms e chronoconnectivity?
Grazie
-
Si.
In albo uso già dei metodi che consentono tale modalità.
Usando solo chronoforms il metodo può essere questo:
1) una dropdown che viene popolata con valore da scegliere che identifica l'utente.
2) collegare alla dropdown una funzione javascript che richiama lo stesso form con l'aggiunta di un parametro tipo id del record da leggere
3) nel form deve essere attivato un custom code o delle action prima della action HTML render form , che si attivano se il parametro è maggiore di 0, in cui viene letto il record con id = parametro.
4) mostrare di seguito i campi con i valori popolati dal record letto.
Questa in sintesi la procedura da seguire.
-
mi sono appuntato tutto nel mio blocco appunti!
Ti ringrazio.