Back to top

Autore Topic: Fabrik - registrare timestamp dopo invio form  (Letto 2204 volte)

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Fabrik - registrare timestamp dopo invio form
« il: 01 Ago 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.
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

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:
Codice: [Seleziona]
$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
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Fabrik - registrare timestamp dopo invio form
« Risposta #1 il: 01 Ago 2019, 20:07:12 »
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.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Fabrik - registrare timestamp dopo invio form
« Risposta #2 il: 02 Ago 2019, 12:42:42 »
nel frattempo ho sistemato la questione timezone inserendo questa stringa:
Codice: [Seleziona]
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.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Fabrik - registrare timestamp dopo invio form
« Risposta #3 il: 02 Ago 2019, 17:36:02 »
Se imposti il campo timestamp direttamente nel db viene lo stesso sovrascitto?

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Fabrik - registrare timestamp dopo invio form
« Risposta #4 il: 02 Ago 2019, 17:58:18 »
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....
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Fabrik - registrare timestamp dopo invio form
« Risposta #5 il: 02 Ago 2019, 19:28:13 »
In fabrik puoi mettere solo data per il tipo di dato?

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Fabrik - registrare timestamp dopo invio form
« Risposta #6 il: 02 Ago 2019, 20:38:07 »
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.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline flinx68

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:Fabrik - registrare timestamp dopo invio form
« Risposta #7 il: 05 Ago 2019, 08:12:26 »
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.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Fabrik - registrare timestamp dopo invio form
« Risposta #8 il: 05 Ago 2019, 11:31:21 »
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?
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

 



Web Design Bolzano Kreatif