Joomla.it Forum
Componenti per Joomla! => Gestione Form => : giusebos 01 Aug 2019, 10:19:02
-
Ciao a tutti.
In fabrik c'è un elemento che serve a inserire la data della creazione del record, si chiama date-element (http://date-element).
Questo elemento permette di inserire nel form una data (date-picker) da parte dell'utente, oppure una data automatica se occorre usarlo come timestamp.
usandolo come timestamp viene inserita nel campo la data di apertura form, quindi se apro il form alle 10:00 e ci metto 10 minuti a compilarlo, la data rilasciata è quella delle 10:00
Io vorrei che la data registrata fosse quella dell'invio del form, e fabrik ci viene in aiuto con un altro plug-in in ambito form, dove in pratica vengono impostate delle scelte in modo tale che in un certo campo succeda qualcosa solo dopo l'invio.
questa la pagina del plug-in in questione (http://fabrikar.com/forums/index.php?wiki/php-form-plugin/)
Fin qui tutto liscio e in effetti la data registrata è quella del momento dell'invio.
Questa data deve essere bloccata però, nel senso che alle possibili e future aperture del record non venga nuovamente aggiornata alla data dell'ultima modifica.
Purtroppo nel plug in non vi è nessuna opzione, e quando questo succede possiamo solo aggiungere una stringa di codice (PHP) in un apposito campo.
io per adesso ho inserito queste 2 stringhe:
$right_now = new JDate('now +2 hour');
$formModel->updateFormData('aa_tickets___data_inoltro_tickets', $right_now, true);
dove la prima aggiunge 2 ore per allineare la data (non è una soluzione perchè al cambio di ora solare dovrò intervenire inserendo un 1 al posto di 2).
la seconda stringa dice al plug in in quale campo agire.
Ora chiedo a qualcuno che con il PHP è più a suo agio, un aiuto o un un suggerimento, nel creare una stringa che faccia in modo di non cambiare la data/ora dopo il primo salvataggio.
Grazie
-
Devo verificare in una mia applicazione ove ho timestamp che non cambia ed un altro campo update che mi si aggiorna ogni volta che modifico il post.
-
nel frattempo ho sistemato la questione timezone inserendo questa stringa:
date_default_timezone_set('Europe/Rome');
$right_now=date("d-m-Y H:i:s");
Rimane solo la questione di non aggiornare la data oltre il primo salvataggio.
-
Se imposti il campo timestamp direttamente nel db viene lo stesso sovrascitto?
-
Con fabrik impostando il tipo di campo, decide lui per quel tipo quale è la scelta migliore, quindi se dovessi modificarlo direttamente da db via phpmyadmin, poi lui provvede a sistemarlo secondo il tipo di campo collegato....
-
In fabrik puoi mettere solo data per il tipo di dato?
-
In fabrik puoi mettere solo data per il tipo di dato?
In fabrik quando si sceglie il tipo di elemento e lui successivamente ti avvisa che cambia il campo in base alla scelta fatta.
-
Hai provato a mettere come valore predefinito se stesso con un controllo in modo che da quando c'è un valore utilizzi se stesso (quello memorizzato nel db) mentre se vuoto vada avanti prendendosi il valore letto della data odierna.
-
Hai provato a mettere come valore predefinito se stesso con un controllo in modo che da quando c'è un valore utilizzi se stesso (quello memorizzato nel db) mentre se vuoto vada avanti prendendosi il valore letto della data odierna.
Tradotto?