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
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'];
}
?>
drupalpertutti.it
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.
Non capisco il problema. Richiamo semplicemente i campi nella vista e tutto è visualizzato regolarmente.
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
www.gmpe.it
Ma questo codice va inserito su Computed Field, perché ho provato, ma non funzionano.
ciao e grazie
www.gmpe.it