У меня есть несколько представлений в моем сайте Drupal, которые чрезвычайно выходят из-под контроля... Представления показывают узлы от различных типов контента в том же списке и отформатированы по-другому в зависимости от типа контента... Это до сих пор потребовало большого количества пользовательских PHP-полей, переписав вывод и немного черной магии. Полностью unmaintanable код.:)
Так, что я ищу, модуль или техника, или взлом, чтобы более корректно сделать различные типы контента и их поля CCK обнаруживается в том же списке.
Вот псевдопример:
Видео узел: количество поля Comment Встроенного видео Заголовка Узла
Узел новостной статьи: Пользовательский Комментарий тела поля Node заголовка CCK рассчитывает, но с переписанным выводом для вставки класса отделения или чего-то
Для этого примера в моем текущем макете я добавил бы заголовок узла к полям, но исключил бы его из вывода, затем произведя его в php customfield с оператором "if", тем же с телом узла (так как и типы узлов имеют заголовки и тела, но только один из двух типов должен отобразить его). Количество комментария было бы добавлено дважды, затем я исключу обоих и произведу их снова через пользовательское php-поле с оператором переключения для типов контента... Ужасный, ха?
Любой совет относительно модулей, взломов или лучших проектных решений приветствуется.:)
Похоже, вы пытаетесь сделать то, что делает слой темы, но в админке представлений.
Вернитесь немного назад, переключитесь на представление узлов, а затем создайте шаблон в формате node-view-VIEWNAME.tpl.php (как объяснено здесь), который обрабатывает логику отображения для всех узлов, которые могут быть привлечены вашим представлением.
Это позволит заключить всю логику отображения для представления в одном шаблоне и избавит вас от необходимости делать хаки в других шаблонах отображения или в самом представлении.
Если вам нужна помощь в подхвате шаблона, дайте нам знать, но, похоже, вы знаете, что делаете.