Joomla.it Forum
Componenti per Joomla! => Gestione Form => : Bonehead 09 Feb 2015, 16:05:34
-
Salve ragazzi,
ho un problema nella gestione di Chronoconnectivity V5.
In pratica ho generato un form (Chronoforms V5) e ora non devo fare nient altro che leggere i dati dalla tabella del database (nella quale sono inseriti correttamente).
Diciamo che le cose che non capisco sono 2:
1. In Column List o Sortables metto: Model.Nome:Nome (dove voglio che sotto la colonna "Nome" esca il dato del database Nome)
Ma Model. lo devo sostituire con cosa????
2. Vorrei fare un primo elenco in cui faccio comparire alcuni campi tipo: Nome e Cognome e poi cliccando sugli stessi mi si apre un'altra pagina in cui ci sono tutte le altre informazioni raccolte dal form.
Scusate magari è una cazzata ma non riesco.. Grazie
-
Scusate ho risolto.. sono un coglione. :)
-
Ti scusiamo solo se pubblichi la soluzione. :)
Ricorda nessuno nasce imparato e il tuo problema risolto può essere utile a tanti altri utenti.
-
Ciao, in effetti la soluzione è parziale e riguarda il punto 1 Model, che non trovavo... e che io stesso avevo definito.
Ora mi rimane il problema del punto 2:
Ho questo elenco nel quale vedo tutti i record, e di quei record vedo soltanto 3-4 dati.
Vorrei far si che cliccando su una delle righe si entri in una pagina in cui quel record si può visualizzare nel dettaglio con tutte le info inserite dall'utente.
Come faccio?
-
Ragazzi .. nessuno che mi sa dare una dritta??
Ripeto.. il mio prossimo step è questo:
Con Connectivity apro una pagina in cui sono presenti tutti i record della tabella, e di questi record vedo solo alcuni dati importanti .. es.:
#1 Nome Cognome Nato il Interessi
#2 Nome Cognome Nato il Interessi
#3 Nome Cognome Nato il Interessi
etc. etc.
vorrei che cliccando su una di queste righe mi si apra la pagina con tutti i dati (e solo quelli) di quel Record.. es.:
id #1
Nome Cognome
Nato il
Residente a
Indirizzo
Interessi
Documento (qui devo linkare questa voce al documento di identità che mi hanno allegato)
etc. etc.
come posso fare?
-
Un aiuto ????
-
Nella connection vai in Front List -> Setting e nel campo View linkable inserisci come mostrato nelle info
tuo_model.nome_campo:tuo_model.nome_campo
dove tuo_model è il model che stai usando e nome_campo è il tuo campo che vuoi rendere lincabile
poi vai in Front List -> Actions selezioni a sinistra View e poi in Form event inserisci nome_tuo_form:load
nome_tuo_form sarà il nome del form che vorrai usare per mostrare i dati
-
ok.. provo!
-
Ok.. ho fatto..
ma il form per mostrare i dati dove lo creo?
Dato che mi risponde : "Form not found or is not published"
-
se non hai il form che mostra i dati, certo da se non può trovarlo.
lo puoi creare facendo una copia di quello che hai usato per inserire i dati, poi togli la parte del salvataggio dei dati che ora non serve più.
-
però verranno mostrati sotto forma di FORM?
io volevo solo una pagina con un riepilogo dati.
-
Cioè per intenderci io ora ho questo elenco (solo consultazione)
ID NOME COGNOME DATA DI NASCITA
1
2
3
4
e vorrei che cliccando sulla riga interessata mi si aprisse una semplice pagina con i dettagli di quel record, tipo:
Nome :
Cognome:
Nato il:
File Allegato:
-
Ecco.. devo fare esattamente questo:
http://marches00.altervista.org/joomla/consultazione-elenco
Però cliccando sui nomi non voglio un nuovo FORM ma una semplice pagina che elenca tutti i dati di quel record...
-
puoi usare sempre un form in cui invece dei campi classici usi un campo Custom code, che ha anche un editor testuale incorporato per la formattazione del testo.
Li puoi inserire il testo come vuoi ed i campi letti dal DB
I campi provenienti dal database li inserisci con questa sintassi {nomecampo}
esempio
Nome: {nome}
Cognome: {cognome}
ecc.
In quel sito ci starebbe anche bene Albo Pretorio On Line ;D
-
Ciao ho creato la pagina (e credo anche la connessione al db in Setup).
Ora quando clicco sulla singola riga mi si apre una pagina e da come punta la barra degli indirizzi vedo che va a prendere l'id corretto del record.
Ho solo un problema.. la pagina mi restituisce esattamente quello che ho scritto:
[/code]<p><span>Nome: {Nome}</span>
<span>Cognome: {Cognome}</span>
<span>eMail: {eMail}[font=Verdana][size=78%]
[/font][/size]
[font=arial][size=small]Mi Diventa:[/font][/size]
[font=arial][size=small]
[/font][/size]
[font=arial][size=small]Nome: {Nome}[/font][/size]Cognome: {Cognome}eMail: {eMail}
[font=arial][size=small]
[/font][/size]
[font=arial][size=small]i nomi dei campi del DB sono corretti.[/font][/size]
-
Credo che manchi nella sezione On load un action Db read che legge la tabella che hai creato e che nel campo Condition abbia il seguente codice che permette di leggere il record comunicato dalla connectivity
<?php return array('tuo_model.id' => $form->data['gcb']); ?>
tuo_model è il model che hai indicato in Model id della DB read.
-
Intanto grazie del supporto continuo.
Ho inserito questo codice in: On Load > DbRead (dove ho anche definito il model ID come data) > Conditions
<?php return array('data' => $form->data['gcb']); ?>
la pagina a questo punto mi restituisce questo errore:
Warning: Invalid argument supplied for foreach() in /web/htdocs/home/libraries/cegcore/libs/model.php on line 1005
-
Ha ragione lui, manca qualcosa. Non c'è l'id del record che deve cercare. Dovrebbe essere così se id è la chiave primaria della tabella che stai usando
[/color]<?php return array('data.it' => $form->data['gcb']); ?>
-
Aggiungo.. ho strutturato la vicenda così:
OnLoad > DB Read - all'interno di DB Read ho messo Custom Code e HTML Render FORM
L'action DB Read è settata così:
Action Label : leggi
Enabled: Yes
Table Name: La tabella del db che mi interessa
Multi Read: No
Enable Model ID: Yes
Model ID: data
Fields: vuoto
Group: vuoto
Conditions: <?php return array('data' => $form->data['gcb']); ?>
-
ciao ho corretto mettendo data.id (si è id la chiave primaria) e non mi da più errore..
però quello che restituisce nella pagina è sempre senza recuperare i valori .. es.: Nome: {Nome}
-
Prova a mettere al posto di {nome} ecc
<?php echo $form->data['nome']; ?>
l'importante e che il "nome" corrisponda al "nome" del campo della tabella.
-
Nulla...
questo è il codice che ho messo
Nome: <?php echo $form->data['Nome']; ?>
ma il risultato è lo stesso.. in questo caso in particolare la pagina stampa solo
Nome:
-
ma i campi nella tabella del database che vuoi vedere sul form come si chiamano?
-
id
Nome
Cognome
eMail
Indirizzo
cap
citta
-
meglio non usare le maiuscole nei campi del database e nei campi del form sono ambigue.
l'action Db read è nell'area Setup -> On Load prima di Html (Render form) ?
-
Ti allego la schermata:
-
Prova a mettere fuori dalla db read l'action HTML. Quel custom code spero non abbia errori che compromettono il resto.
-
Questo è il custom code:
<p><strong>Scheda Canditato:</strong> <span>#{id}</span></p>
<p><strong>Dati Anagrafici:</strong></p>
<p><span>Nome: {Nome}</span>[br /] <span>Cognome: {Cognome}</span>[br /] <span>eMail: {eMail}</span>[br /] <span>nato il: {nato_il} a: {nato_a}</span>[br /] <span>residente in: {Indirizzo} {nome_via} numero {numero}</span>[br /] <span>CAP: {cap}</span>[br /] <span>Città: {citta}</span></p>
<p><strong>Titoli:</strong></p>
<p><span>Titolo di Studio: {titolo_selezione} - {descrizione_titolo}</span>[br /] <span>Lingua #1: {Lingua_1} - ESOL Level {ESOL_Level_1}</span>[br /] <span>Lingua #2: {Lingua_2} - ESOL Level {ESOL_Level_2}</span>[br /] <span>Lingua #3: {lingua_3} - ESOL Level {esol_level_altra}</span></p>
<p><strong>Esperienza Lavorativa:</strong></p>
<p><span>Ultima Esperienza Lavorativa: {ultima_esperienza} - Attuale: {attuale}</span>[br /] <span>Area di Interesse: {area_interesse}</span></p>
<p> </p>
-
Credevo il custom code, tu lo avessi messo in Designer.
Comunque va posto prima di HTML, altrimenti come fa a vederlo dopo che è stato eseguito HTML.
-
Fatto ma non cambia nulla... :-[
Sono disperato..
-
Attiva il rapporto errori di joomla al massimo e vediamo se c'è qualcosa
-
ok.. cosa ti metto?
-
rapporto errori: massimo o sviluppo
-
Grazie a vales la vicenda è risolta... ecco gli accorgimenti:
Custom Code messo in designer non in Code.
DB Read disabilitato il model ed ora funziona altrimenti i campi dovevano essere scritti {Data.Nome}.Se si riabilita il model si deve cambiare tutti i campi nel Custom Code in Designer.
GRAZIEEEE!
-
Sto cercando di "replicare" il form di questa discussione, in pratica si tratta di una semplice "rubrica".
Quindi riesco ad inserire i dati,
e a leggerli cliccando nel nome come nell'esempio.
Non riesco a capire come potere modificare i dati però.....forse occorre un terzo form?
Sinceramente nella discussione non si capisce se questa funzionalità è stata implementata, magari non ho capito io, ma se non ci fosse sarebbe interessante poter aggiungere questa funzione di modifica.