Допустим есть несколько числовых полей. При создании материала в них можно ничего не указывать. Но те поля, в которые введены числа, должны складываться.
Проще всего в коде поля computed field складывать все числовые поля перед этим присвоив 0 тем полям, куда числа не были введены.
Но когда в конструкции if проверяю на равенство NULL числового поля возникает ошибка при создании материала:
Тестовый код:
<?php
if (array_pop(array_pop(field_get_items($entity_type, $entity, 'field_cpu'))) == NULL) $entity_field[0]['value'] = 0;
else $entity_field[0]['value'] = array_pop(array_pop(field_get_items($entity_type, $entity, 'field_cpu')));
?>
Возникает ошибка "Warning: array_pop() expects parameter 1 to be array, null given в функции eval() (строка 1 в файле /var/www/u7708549/data/www/computer-kit.ru/sites/all/modules/computed_field/computed_field.module(394) : eval()'d code)."
При этом код срабатывает. Если ничего не вводить, выводится 0, если введено число, то выводится оно.