2012-05-13 2 views
0

Я хочу отобразить количество изображений, загруженных в поле изображения, в поле вида или в виде tpl.php. Как я могу это сделать? Мое изображение называется лодочностью. Я пробовал это, но он вышел как 0, а не правильный номер: <? php print count ($ fields-> field_boatimages)?>Как отображать количество изображений изображений в виде?

ответ

0

Ack. Я не думаю, что count() работает так.

Почему бы не просто сделать это с помощью Views? Взгляните на «Аргументы»> «Настройки», и вы увидите «количество показаний записи», которое похоже на все, что вам нужно для этого.

+0

Я не понимаю. В «Аргументах» нет представления «Настройки»? И нет аргументов, называемых «показанием счетчика» в «Аргументах»? – JPBurrs45

+0

Да, это не очевидно, если вы не знаете, как это работает. В новом окне выберите лодку для поля. Затем установите аргумент в одно и то же поле. Для принятия действия, если аргумент отсутствует, выберите сводку. Теперь вы должны увидеть настройку, которой раньше не было, - отсчет количества записей. – Forest

+0

(Ссылка «Настройки» - это значок шестеренки.) – Forest

0

Мое предложение - установить модуль devel и использовать функцию dpm для печати переменной, если вы хотите знать структуру (print_r() тоже может работать). Если счетчик не работает, это потому, что вы, вероятно, используете его с неправильными данными.

ИЛИ, вы можете просто запросить базу данных для этого поля. Я дам вам инструкции для drupal 7, но drupal 6 должен быть похож.

Проверьте таблицу field_data_field_boatimages. Посмотрите, как есть список изображений, связанный с одним ENTITY_ID

Затем выполнить этот запрос

SELECT COUNT(*) FROM `field_data_field_boatimages` WHERE entity_id = ### 

Где ### это ENTITY_ID вы хотите знать. Вы можете получить его, ища arg (1), если arg (0) == узел на вашей странице.

Теперь вы просто должны использовать PHP силу для печати Тар результата

$query = SELECT COUNT(*) FROM `field_data_field_boatimages` WHERE entity_id = :eid 
$result = db_query($query, array(':eid', $nid))->fetchField(); 
echo $result; 

Drupal 6 будет очень похожи. Просто небольшое различие в именах таблиц и синтаксисе запроса. Например, используя db_result вместо fetchField()

В любом случае удачи!

+0

Выполнение этого так выглядит как хорошее учебное упражнение, но и поездка вокруг рога, поскольку вы можете выполнить это с видом в жаркую минуту. Кроме того, он все еще должен адаптировать пример D7 для D6. – Forest

Смежные вопросы