Joomla.it Forum
Componenti per Joomla! => Gestione Form => : johnny64 16 Dec 2010, 21:33:37
-
Buonasera! Vorrei porre una domanda in merito alla gestione degli upload con Chronoforms e Chronoconnectivity. Avrei la necessità di potere vedere in front end, mediante collegamento al db con Chronoconnectivity, gli allegati in pdf inviati tramite form. E' possibile farsi restituire da Connectivity un link che punta al file in questione in modo che cliccandovi sopra il file pdf si possa aprire? (codice php da integrare?) In alternativa è possibile uploadare il file direttamente nel db in modo da poterlo successivamente richiamare con i metodi classici di connectivity? Grazie per i vostri preziosi consigli. Ciao.
-
Nella guida c'è la risposta.
http://www.joomla.it/articoli-della-community/3796-chronofrms-e-chronoconnectivity-lunione-fa-la-forza.html
-
Grazie vales per la risposta! Ho provato ad inserire nel Body della mia connectivity il codice da te suggerito con gli opportuni accorgimenti necessari per il tipo di file puntato.
<?php
$alfa = "{richiesta_allegato}";
$beta = '<a href="';
$gamma = 'http://' . $_SERVER['HTTP_HOST'] . "/" . basename(dirname($_SERVER['PHP_SELF']));
$delta = "/components/com_chronocontact/uploads/richiesta_intervento/";
$teta = '"/>{richiesta_allegato}</a>';
echo $beta.$gamma.$delta.$alfa.$teta ;
?>
Accedendo da frontend mi viene mostrato il link al file 17122010_provamodulo.pdf ma non appena clicco sopra mi va in errore 404.
Ho verificato la presenza del file nella cartella ..../components/com_chronocontact/uploads/richiesta_intervento ed il file c'è.
[cartella creata in automatico dal form (chronoforms) in occasione del primo invio di allegati, form che utilizzo per editare i dati salvati nel db]
Ho verificato la corretta composizione della stringa dell'url ed è perfetta
http://www.xxxxxx.yyy/index.php/components/com_chronocontact/uploads/richiesta_intervento/17122010_provamodulo.pdf
Ho provato abilitando e disabilitando i mambot ma non succede niente! :'(
Dove sbaglio? Grazie per i tuoi preziosi consigli. Ciao
-
Se la stringa dell'url è corretta non capisco il problema.
Comunque l'url puo essere semplificato, con quella guida ero alle prime prove, ora userei questo
<?php
echo '<a href="'.Juri::base().'components/com_chronocontact/uploads/richiesta_intervento/'.$MyRow->richiesta_allegato.'"/>'.$MyRow->richiesta_allegato.'</a>';
?>
-
GRAZIE VALES!
Funziona perfettamente.
Per noi principianti specifico che se si ha la necessità, come me, di aprire il documento su una nuova finestra si può aggiungere il target "_blank" nel tag <a href> modificando il codice come in appresso:
<?php
echo '<a href="'.Juri::base().'components/com_chronocontact/uploads/richiesta_intervento/'.$MyRow->richiesta_allegato.'" target="_blank" />'.$MyRow->richiesta_allegato.'</a>';
?>
Alla prossima! Ciao.
-
Ciao, io sto settando cosi il mio campo in cui dovrebbe apparirmi l'allegato ma non riesco a vedere nulla, come mai?
<?php
echo '<a href="'.Juri::base().'components/com_chronoforms/uploads/ALBO_OPERATORI_ECONOMICI/'.$MyRow->input_file_67.'" target="_blank" />'.$MyRow->input_file_67.'[/url]';
?>
-
Quale versione di chronoconnectivity stai usando ? Quelle istruzioni sono per la v2
Per Chronoconnectivity V4 il recupero del valore di un campo in php si ottiene così
senza uso del model
$row['nome_campo']
con l'uso del model
$row['nome_model']['nome_campo']
-
Io sto usando questo codice e cosi mi funziona.
<?php
echo "<a href=\"\components\com_chronoforms\uploads\ALBO_OPERATORI_ECONOMICI\{input_file_69}\" target=\"_blank\">{input_file_69}[/url]";
?>
Mi potresti scrivere il codice per intero di come intendi farlo tu, che non ho ben capito?Grazie
Ps: la versione è la V4
-
Dovrebbe essere così
<?php
echo "<a href=\"\components\com_chronoforms\uploads\ALBO_OPERATORI_ECONOMICI\.$row['input_file_69']." target=\"_blank\">".$row['input_file_69']."</a>";
?>
la differenza è che con l'uso delle variabili PHP i campi sono disponibili nel lato server prima dell'invio al browser e quindi anche elaborabili dal flusso dello script
mentre nell'opzione che hai usata {nome campo} valida solo in HTML sono utizzabili solo dal browser al momento della scrittura a schermo senza possibilità di elaborazione.
La scelta dell'una o dell'altra possibilità dipende quindi dall'uso che deve essere fatto del nome_campo.
Esempio
Con la notazione PHP puoi controllare se il campo ha un certo valore ed in base a quel valore compiere poi altre scelte tipo una diversa modalità di visualizzazione od altre. Questo uso, forse un po' complicato a scriverlo, è quindi molto potente.
Con la seconda opzione HTML non hai il controllo del flusso dei dati, ma se non serve va bene comunque.
-
Ho provato cosi come mi hai consigliato ma mi da un errore:
Parse error[/size]: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in[/color][/size]C:\xampp\htdocs\sito_albo_fornitori\components\com_chronoconnectivity\libraries\chronoconnection.php(865) : eval()'d code[/color][/size] on line [/color][/size]63[/color]
-
Attenzione al copia/incolla dal forum a volte porta qualcosa di invisibile che poi da errore.
Ricontrolla comunque la sintassi della riga HTML generata con il PHP il problema potrebbe essere li.