Somma di campi

5 contenuti / 0 new
Ultimo contenuto
Somma di campi

Ho un tipo di contenuto "Fornitore" con un campo "Importo lordo" con valori multipli.
Con Computed Field applico queste istruzioni e ottengo la somma corretta:

$entity_field[0]['value'] =
  field_get_items($entity_type, $entity, 'field_importo_lordo')[0]['value'] +
  field_get_items($entity_type, $entity, 'field_importo_lordo')[1]['value'] +
  field_get_items($entity_type, $entity, 'field_importo_lordo')[2]['value'];

Il problema è che non ho tutti i campi necessariamente riempiti perciò, quando salvo, ottengo un fastidioso errore, anche se non pregiudica il risultato.
Come faccio a dirgli di ignorare i campi vuoti?

Ciao e grazie

Drupal Version:

Ti prego di commentare perchè interessa anche a me:
Tu hai usato il computed field su un tipo di contenuto con valori multipli?
Vorrei sapere se e come riesci per esempio a fare una vista dei campi sommati Dato che per ogni nodo avresti più valori.
In riferimento alla tua richiesta un modo sarebbe:
Usare Field_collection e fare un elenco per nodo, e poi con view volendo richiamare solo i valori non nulli.
Ammesso che le voci tu non le abbia già caricate tutte.

prima di "usarlo" devi controllare se "esiste" in questo modo:

<?php if(isset($campo)){
//usa campo
}?>

ad ogni modo io al tuo posto farei:

<?php
$risultato
=0;
$tuttiivalori=field_get_items($entity_type, $entity, 'field_importo_lordo');
foreach(
$tuttiivalori as $v){
$risultato+=$v['value'];
}
?>

Tommy55 wrote:

Tu hai usato il computed field su un tipo di contenuto con valori multipli?

Sì. Ho il tipo di contenuto FORNITORE e un campo DECIMALE per l'importo impostato a 10 valori e il campo Computed field con il codice sopra.

Tommy55 wrote:

Vorrei sapere se e come riesci per esempio a fare una vista dei campi sommati Dato che per ogni nodo avresti più valori.

Non capisco il problema. Richiamo semplicemente i campi nella vista e tutto è visualizzato regolarmente.

Tommy55 wrote:

In riferimento alla tua richiesta un modo sarebbe:
Usare Field_collection e fare un elenco per nodo, e poi con view volendo richiamare solo i valori non nulli.

Il mio problema è solo durante il salvataggio, non l'esito finale del nodo o della vista.
Qui sotto hai il nodo e la vista.

ciao

jonxduo wrote:
prima di "usarlo" devi controllare se "esiste" in questo modo:
<?php if(isset($campo)){
//usa campo
}?>

ad ogni modo io al tuo posto farei:

<?php
$risultato
=0;
$tuttiivalori=field_get_items($entity_type, $entity, 'field_importo_lordo');
foreach(
$tuttiivalori as $v){
$risultato+=$v['value'];
}
?>

Ma questo codice va inserito su Computed Field, perché ho provato, ma non funzionano.

ciao e grazie