Представления 3 и HTML5 - как переопределить вывод для разметки?


У меня есть созданное мной представление, которое выбирает сообщения в блоге на основе определенного термина таксономии, создавая своего рода представление "Избранные сообщения", которое я встроил на первую страницу своего сайта. Проблема, с которой я постоянно сталкиваюсь, заключается в попытке вывести представление так, чтобы каждое сообщение было семантически помечено с использованием некоторых новых HTML. Я пробовал встроенную функцию "Переписать вывод этого поля", но она игнорирует теги, которые я использую (т. Е. Статью, верхний и нижний колонтитулы), и оборачивает все в divs, даже когда я отмените выбор тегов-заполнителей.

Должен ли я создать переопределяющий views--view_name.tpl.php чтобы переписать вывод каждого сообщения так, как он отображается в представлении, или мне нужно использовать крючки предварительной обработки в template.php чтобы повлиять на результат?

Я должен заявить, что у меня есть базовый опыт написания PHP и крючков для предварительной обработки, но я могу использовать любые ресурсы, которые мне нужны, чтобы переместить меня по ссылке, если меня укажут в правильном направлении.

Author: PendragonDev, 2011-03-17

3 answers

Вы заметите, что в вашем представлении под блоком "Настройки стиля" есть ссылка на тему: Информация. В нем будут представлены все файлы тем, которые вызываются для вашего просмотра. Вы можете использовать общие и очень подробные файлы тем, которые будут использоваться только для отображения ваших представлений.

Первое имя файла в выводе на дисплей views-view.tpl.php . Это будет применяться ко всем представлениям и дисплеям. Следующий в списке - просмотры-просмотр -[имя просмотра].tpl.php . Это будет относиться только к вашему представлению. Он сохраняет детализация до тех пор, пока она не станет настолько конкретной, насколько это возможно. представления -просмотр -[имя представления] -default.tpl.php является последним в списке и применяется только к отображению представления по умолчанию. При нажатии на ссылку Вывод на экран: откроется код шаблона, который использует views. Просто скопируйте и создайте новый файл шаблона с одним из предложенных в списке. Обычно лучше быть как можно более конкретным. Файл шаблона может находиться в любом месте вашей темы, и представления будут получать его до тех пор, пока вы повторно сканируете файлы шаблонов в информации о тематике и сохраните представление. Существуют шаблоны представлений, шаблоны строк, шаблоны полей и шаблоны для конкретных полей.

Как только вы научитесь управлять файлами шаблонов просмотра, это действительно откроет перед вами возможности дизайна.

 10
Author: Jepedo, 2011-03-17 19:42:27

Заборы выглядят как отличный модуль (для Drupal 7) для управления разметкой вывода представлений:

Страница проекта:

Http://drupal.org/project/fences

Со страницы проекта:

"Заборы - это простой в использовании инструмент для указания HTML-элемента для каждого поля. Этот выбор элемента будет распространяться везде , где используется поле, например, в тизерах, RSS-каналах и представлениях. Тебе не нужно держать повторная настройка одного и того же элемента HTML снова и снова каждый раз время отображения поля".

Мне особенно нравится этот бит (отлично подходит для отладки вывода):

"Лучше всего то, что Fences обеспечивает более компактную разметку, чем ядро Drupal 7! И может избавиться от посторонних классов тоже!"

Это также приятно - сокращает повторение работы:

"Этот инструмент необходим для создания семантического вывода HTML5 из Drupal. Без такого инструмента вам придется создавать настраиваемое поле шаблоны в вашей теме для каждого поля. :("

Они также рассмотрели популярные альтернативы:

Аналогичные проекты включают Семантические поля, Обертки полей и инструмент внутри Набора дополнительных функций. Но мы считаем, что такой подход является более совершенным™.

Спасибо пользователю Drupal rache за упоминание модуля Заборов Drupal в их комментарии по этому вопросу - Это семантические представления модуль, устаревший по представлениям 3?

 2
Author: therobyouknow, 2012-09-21 13:39:59

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

Как говорится в этом выпуске , это полезно для вывода html5.

 0
Author: john, 2011-11-15 02:24:24