computed field - sommare mesi ad un campo data

5 contenuti / 0 new
Ultimo contenuto
computed field - sommare mesi ad un campo data

Ciao a tutti,
sto sviluppando un mini-portale per la gestione delle manutenzioni.
Ho un tipo di contenuto con un filed tipo "data" relativo all'ultimo controllo effettuato (field_controlli).
Vorrei "semplicemente" sommare 6 mesi a questa data per determinare quando andrà effettuato il prossimo controllo.

Immagino che dovrei utilizzare computed field...ho provato a picchiarmici ma credo sia giunto il momento di chiedere aiuto a qualche luminario...grazie!

Drupal Version:

Mi rispondo da solo...per sommare n mesi basta scrivere queste 2 semplici righe (in questo caso sommo 12 mesi)

$data_controlli = $entity->field_controlli['und'][0]['value'];
$entity_field[0]['value'] = date('F Y', strtotime($data_controlli . "+12 months"));

Ora però, spero mi aiutiate:
Il pio contenuto è legato ad un vocabolario che identifica il tipo di apparecchiatura; vorrei creare un ciclo if dove, a seconda del termine vado a sommare un certo numero di mesi...ho provato a scrivere:

$data_controlli = $entity->field_controlli['und'][0]['value'];
$tipo = $entity->field_tipologia_estintore['und'][0]['value'];
if ($tipo == 'tipo1) {
$entity_field[0]['value'] = date('F Y', strtotime($data_controlli . "+12 months"));
} else if ($tipo == 'tipo2') {
$entity_field[0]['value'] = date('F Y', strtotime($data_controlli . "+6 months"));
} else {
$entity_field[0]['value'] = date('F Y', strtotime($data_controlli . "+1 months"));
}

ma non gira!!!

Se devi sommare campi in una'altra colonna e basta, ti consiglio si usare una vista a cui aggiungere un campo globale di tipo espressione matematica.
Se invece vuo totalizzare và bene computed_field, (a patto che il campo venga salvato nel database,
e se vuoi avere più libertà di visualizzazione,) abbianto ad una vista con aggregazione.
Se vuoi qualcosa ancora più potente, devi usare il modulo views aggregator plus che ti dà possibilità di creare viste con calcoli più complessi.

Scusa ho scritto male:
Se devi sommare campi in una'altra colonna e basta, ti consiglio si usare una vista a cui aggiungere un campo globale di tipo espressione matematica.
Se invece vuo totalizzare và bene computed_field, (a patto che il campo venga salvato nel database,
) abbianto ad una vista con aggregazione.
Se vuoi qualcosa ancora più potente, devi usare il modulo views aggregator plus che ti dà possibilità di creare viste con calcoli più complessi e totalizzazioni sopra o sotto la vista.

Ottimo! Grazie 1000!!!