Somma se..
Avendo trè campi
Pr field_pr
Q.ta Ord field_qta_ord
Prz Ord field_prz_ord
Dovrei fare una formula che mi restituisse un totale "SE"
Un quarto campo
U.m field_u_m Elenco (testo) = % che corrisponde al valore campo elenco 7|%
Il campo computed è :
field_tot_voce_ord
Attualmente la formula funzionante calcola solo i campi field_qta_ord *field_prz_ord
$field_qta_ord = field_get_items($entity_type, $entity, "field_qta_ord");
$field_prz_ord = field_get_items($entity_type, $entity, "field_prz_ord");
$entity_field[0]["value"] = $field_qta_ord[0]["value"] * $field_prz_ord[0]["value"];
Io vorrei " Rimembrando Excel, una formula del tipo:
Se field_u_m =7|% Allora
$field_qta_ord = field_get_items($entity_type, $entity, "field_qta_ord");
$field_prz_ord = field_get_items($entity_type, $entity, "field_prz_ord");
$field_pr = field_get_items($entity_type, $entity, "field_pr");
$entity_field[0]["value"] = $field_qta_ord[0]["value"] * $field_prz_ord[0]["value"] * $field_pr[0]["value"] ;
ALtrimenti
$field_qta_ord = field_get_items($entity_type, $entity, "field_qta_ord");
$field_prz_ord = field_get_items($entity_type, $entity, "field_prz_ord");
$entity_field[0]["value"] = $field_qta_ord[0]["value"] * $field_prz_ord[0]["value"];
Potete aiutarmi?
Risposte
Prova qualcosa del
Prova qualcosa del genere:
<?php
$field_qta_ord = field_get_items($entity_type, $entity, "field_qta_ord");
$field_prz_ord = field_get_items($entity_type, $entity, "field_prz_ord");
$field_pr = field_get_items($entity_type, $entity, "field_pr");
$field_u_m = field_get_items($entity_type, $entity, "field_u_m");
$entity_field[0]["value"] = ($field_u_m[0]["value"] == 7 ? $field_qta_ord[0]["value"] * $field_prz_ord[0]["value"] * $field_pr[0]["value"] : $field_qta_ord[0]["value"] * $field_prz_ord[0]["value"]);
?>
$valore = (condizione ? condizione vera : condizione falsa) è la forma compatta per il costrutto if (condizione) ... else. Non è testata spero funzioni.
Grazie mille per
Grazie mille per l'interessamento, ma..
Copiandola "pari pari" a quella che hai scritto, mi restituisce sempre 0.00 sia con campi compilati che non, e sia se provo una condizione o l'altra.
Ma non restituisce messaggi d'errore.
Andando su https://www.drupal.org/node/126522 la pagina del modulo, ho visto molti esempi, ma francamente è troppo difficile per me capire se vio sono degli esempi attinenti al mio caso, non conoscendo il php.
Non saprei, ho testato questo
Non saprei, ho testato questo codice su una copia locale:
<?php
$field_uno = field_get_items($entity_type, $entity, "field_uno");
$field_due = field_get_items($entity_type, $entity, "field_due");
$field_tre = field_get_items($entity_type, $entity, "field_tre");
$field_list = field_get_items($entity_type, $entity, "field_list");
$entity_field[0]["value"] = ($field_list[0]["value"] == 1 ? $field_uno[0]["value"] : $field_due[0]["value"] * $field_tre[0]["value"]);
?>
dati i campi uno, due, e tre interi e list lista di interi.
Se scelgo 1 dalla lista mi restituisce il valore di uno. Se scelgo 2 mi restituisce il valore di due * tre.
Caso 1
Caso 2
U.m field_u_m Elenco (testo)
U.m field_u_m Elenco (testo) Elenco di selezione
Q.ta Ord field_qta_ord Decimale Campo di testo
Pr field_pr Intero
Prz Ord field_prz_ord Decimale
Tot Voce field_tot_voce_ord Computed Sarebbe il campo calcolato di tipo Float.
I miei campi sono di tipo diverso, ora faccio delle prove, poi ti dico.
Ho fatto velocemente una
E' perfetto,
E' perfetto, funzionaaaaaaaaaaa
Bastava togliere
"<?php" "?>"
e incollare la formula contenuta.
Mandami il tuo indirizzo per messaggio che mi devo sdebitare..
Comprensivo della dichiarazione di non essere astemio..
Saluti
Ottimo! Sì hai ragione, i tag
Ottimo! Sì hai ragione, i tag di entrata e chiusura non devono essere copiati, in questo caso servono solo per la "syntax highlighting" del codice sul post.