1

Привет, я новичок в Drupal и очень борется с лучшими практиками для этой CMS. Сейчас я пытаюсь использовать модуль «Панели 3» для создания страниц моего сайта с созданными мной настраиваемыми макетами. То, что я не могу склонить вокруг себя, - это смехотворная сумма чрезмерной разметки, которая поступает от панелей, а также каждого отдельного шаблона в установке drupal (node.tpl, полевые функции, region.tpl и т. Д.). У меня есть очень сложные разработки веб-сайтов, которые мне нужно создать, и html, который создается из шаблонов Drupal и функций поля, буквально делает мою работу невозможной. Я использую wordpress, где я могу просто сделать пример запроса базы данных (wp_query()), захватить нужные мне значения и отобразить их в любой разметке, которую я хочу. Что мне здесь не хватает в Drupal? Я действительно должен перезаписать 7 файлов шаблонов вплоть до уровня поля в Drupal, чтобы получить чистую разметку? Что мне здесь не хватает?Drupal 7, работающий с полями

ответ

0

В ваших собственных статьях template.php вы можете реализовать крючок theme_field() для создания вывода для каждого поля. Подобные крючки существуют для регионов, блоков, узлов, страниц. Просто скопируйте default code и измените его.

Вот пример того, как я обычно упрощаю вывод, например. слайдер контента:

function yourtheme_field__field_slidertext(&$variables) { 
    $output = ''; 
    foreach ($variables['items'] as $delta => $item) { 
    $output .= '<li class="slide">' . drupal_render($item) . '</li>'; 
    } 
    $output = '<ul class="slider">' . $output . '</ul>'; 
    return $output; 
} 

Если вы хотите более простой способ раздеться разметки и выбрать некоторые общие параметры вывода полей имеют вид на Drupal Fences модуля.

+0

Благодарим за отзыв, я немедленно испробую это решение. Однако тот факт, что я должен сделать это даже однажды, не один на каждом из этих отдельных уровней через узел, страницу, регион и т. Д., Кажется мне совершенно нелепым. Я не могу поверить, что это поведение по умолчанию современного cms, не говоря уже об одном из самых популярных. Разметка, которую она создает, ужасает всех, кто гордится собой на чистом html, или имеет любые типы сложных конструкций для создания. Существуют ли какие-либо модули, инструменты или готовые темы, которые уже имеют решения для этого? Еще раз спасибо. –

+0

В любом случае я хочу настроить вывод на всех полях. Но вы совершенно правы, это немного громоздко. На самом деле есть модуль, который поможет вам получить эту настройку во внешнем интерфейсе: [Drupal Fences] (https://drupal.org/project/fences) - HTH. – zany

+0

Спасибо, только полезный ma'man! –