Значение поля CCK никогда не меньше 1 или NULL - PullRequest
0 голосов
/ 22 марта 2011

Я получил поле CCK, настроенное таким образом, чтобы при создании узла можно было вводить неограниченные значения (Количество значений: не ограничено)

Когда я пытаюсь напечатать значения в узле с

if ($node->field_tip != NULL)
 foreach ((array)$node->field_tip as $tip) {
 print "<div class='tip'>" . $tip['view'] ."</div>";
};

или выведите

count($node->field_tip);

значение никогда не будет меньше 1, и всегда отображается <div class='tip'></div>, даже если в это поле не введено никаких значений.

1 Ответ

0 голосов
/ 24 марта 2011

Поле CCK никогда не будет нулевым в Drupal 6. Даже если поле не имеет значений, оно все равно будет массивом, содержащим один элемент.Вы можете проверить, что атрибут представления каждого элемента не пуст, перед печатью div:

foreach ($node->field_tip as $tip) {
   if(!empty($tip['view'])) {
      print "<div class='tip'>" . $tip['view'] ."</div>";   
   }
}
...