Представления Drupal: Разделение полей типом контента

У меня есть несколько представлений в моем сайте Drupal, которые чрезвычайно выходят из-под контроля... Представления показывают узлы от различных типов контента в том же списке и отформатированы по-другому в зависимости от типа контента... Это до сих пор потребовало большого количества пользовательских PHP-полей, переписав вывод и немного черной магии. Полностью unmaintanable код.:)

Так, что я ищу, модуль или техника, или взлом, чтобы более корректно сделать различные типы контента и их поля CCK обнаруживается в том же списке.

Вот псевдопример:

Видео узел: количество поля Comment Встроенного видео Заголовка Узла

Узел новостной статьи: Пользовательский Комментарий тела поля Node заголовка CCK рассчитывает, но с переписанным выводом для вставки класса отделения или чего-то

Для этого примера в моем текущем макете я добавил бы заголовок узла к полям, но исключил бы его из вывода, затем произведя его в php customfield с оператором "if", тем же с телом узла (так как и типы узлов имеют заголовки и тела, но только один из двух типов должен отобразить его). Количество комментария было бы добавлено дважды, затем я исключу обоих и произведу их снова через пользовательское php-поле с оператором переключения для типов контента... Ужасный, ха?

Любой совет относительно модулей, взломов или лучших проектных решений приветствуется.:)

1
задан AstroCB 30 August 2014 в 20:44
поделиться

1 ответ

Похоже, вы пытаетесь сделать то, что делает слой темы, но в админке представлений.

Вернитесь немного назад, переключитесь на представление узлов, а затем создайте шаблон в формате node-view-VIEWNAME.tpl.php (как объяснено здесь), который обрабатывает логику отображения для всех узлов, которые могут быть привлечены вашим представлением.

Это позволит заключить всю логику отображения для представления в одном шаблоне и избавит вас от необходимости делать хаки в других шаблонах отображения или в самом представлении.

Если вам нужна помощь в подхвате шаблона, дайте нам знать, но, похоже, вы знаете, что делаете.

2
ответ дан 2 September 2019 в 23:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: