Как быстро оформить вид?

85

Я определил представление с модулями CCK и View 2. Я хотел бы быстро определить шаблон, специфичный для этого представления. Есть ли какое-нибудь руководство или информация по этому поводу? Какие файлы мне нужно изменить?


Вот мои выводы: (отредактировано)

Фактически, есть два способа тематизировать представление: « поле » и « узел ». В «редактировать вид» вы можете выбрать « Row style: Node» или « Row style: Fields».

  • с помощью способа « Узел » вы можете создать node-contentname.tpl.php, который будет вызываться для каждого узла в представлении. У вас будет доступ к значениям полей cck с помощью $ field_name [0] ['value']. (edit2) Вы можете использовать node-view-viewname.tpl.php, который будет вызываться только для каждого узла, отображаемого из этого представления.
  • с помощью способа « Поле » вы добавляете поля просмотра-просмотра-имя-просмотра-имя-поля-значение.tpl.php для каждого поля, которое вы хотите оформить индивидуально.

Благодаря предыдущим ответам я использовал следующие инструменты:

  • В блоке «Основные настройки» выберите «Тема: информация», чтобы увидеть все различные шаблоны, которые вы можете изменить.
  • Devel модуль «s„Тема разработчик“быстро найти имена переменных поля.
  • См. Документацию 2 , особенно страницу «Использование темы» .
Пьер-Жан Кудер
источник
1
это views-view-fields - viewname - field-name-value.tpl.php, а не views-view-field - viewname - field-name-value.tpl.php, вам не хватает буквы «s» на первое поле
Алекс Борсоди
В какую папку вы это добавляете?
Talon
Если бы вы выполнили поиск на странице документации по представлениям, вы бы нашли всю эту информацию!
Бхавин Джоши

Ответы:

52

На самом деле есть два способа тематизировать представление: « поле » и « узел ». В «редактировать вид» вы можете выбрать « Row style: Node» или « Row style: Fields».

  • с помощью способа « Узел » вы можете создать node-contentname.tpl.php, который будет вызываться для каждого узла в представлении. У вас будет доступ к значениям полей cck с помощью $ field_name [0] ['value']
  • с помощью способа « Поле » вы добавляете поля просмотра-просмотра-имя-просмотра-имя-поля-значение.tpl.php для каждого поля, которое вы хотите оформить индивидуально.

Благодаря предыдущим ответам я использовал следующие инструменты:

  • В блоке «Основные настройки» выберите «Тема: информация», чтобы увидеть все различные шаблоны, которые вы можете изменить.
  • Devel модуль «s„Тема разработчик“быстро найти имена переменных поля.
  • См. Документацию 2 , особенно страницу «Использование темы» .
Пьер-Жан Кудер
источник
Обратите внимание, что при первом способе, способе «узла», созданный вами шаблон, вероятно, (в зависимости от настроек темы) будет использоваться для узла itslef (отображается даже вне узла).
Strae
Обратите внимание, что теперь в этом ответе указаны ссылки 404.
Дьюэйн
22

Быстрый способ найти файлы шаблонов, которые вы можете создавать и изменять для представления в Views 2.0, - это:

  1. Редактировать представление
  2. Выберите стиль (например, страница, блок, по умолчанию)
  3. В блоке «Основные настройки» нажмите «Тема: Информация», чтобы увидеть все различные шаблоны, которые вы можете изменить.
калебраун
источник
16

Функция «Разработчик темы» модуля Devel удобна для просмотра того, какие файлы шаблонов ищет Drupal, когда он переходит к чему-то теме. См. Пример на снимке экрана на этой странице.

Гаррет Олбрайт
источник
7

Один совет:

Вероятно, у вас будет несколько представлений, требующих аналогичного форматирования. Создание шаблонов для каждого из этих представлений и их копирование создает кошмар ветвления кода - если вас просят изменить весь внешний вид сайта (что подразумевает изменение отображения каждого из этих представлений, отформатированных определенным образом), вы придется вернуться и отредактировать каждый из них отдельно.

Вместо того, чтобы использовать интерфейс представлений для выбора новых шаблонов для представлений, я иногда просто вставляю некоторые ветвления кода в один файл представлений. Например, для одного сайта у views-view-fields.tpl.phpменя есть:

if($view->name == 'articleList' || $view->name == 'frontList' 
|| $view->name == 'archiveList') {
/* field formatting code */
} else {
/* the default code running here */
}

Затем это изменяет поля так, как я хочу, только для этого семейства Views = articleList, frontList и archiveList - а для других представлений, использующих этот шаблон, запускается код, который обычно встречается в этом шаблоне. Если клиент спрашивает: «Эй, не могли бы вы сделать эти страницы, показывающие архивы и этот список на первой странице, больше похожими на (...)», это просто вопрос моего открытия и редактирования этого одного файла, а не трех разные файлы. Обслуживание становится более быстрым и удобным.

Джеймс
источник
6

для меня блок-видовые myViewName-myBlockId.tpl.php работы

сваср
источник
4

Мой вариант быстрого доступа.

  1. Перейдите в файл theme.inc в папке YOUR_MODULE_DIR/ views / theme / .

  2. В _views_theme_functionsфункции выведите переменную $ themes или поставьте точку останова в последней строке функции, чтобы увидеть содержимое переменной.

Просто конвертируйте views_viewв views-view и __ to - и добавьте расширение вашего шаблона, чтобы получить желаемое имя файла.

Например, если элемент массива $ themes равен views_view__test_view__block (где test_view- имя вашего представления), тогда имя файла шаблона будет views-view - test_view - block.tpl.php .

userp2m3h
источник
2

На мой взгляд, самый простой способ решить, какой файл шаблона использовать для тематизации представлений: 1) Нажмите admin / build / views / edit / ViewName -> Basic Settings -> Theme

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

Сбхамбри
источник
1

Если вы хотите быстро разработать Drupal с большим количеством операций перетаскивания, модуль Display Suite def. это то, что вам следует использовать: http://drupal.org/project/ds

Карел
источник
0

На мой взгляд, это можно сделать двумя способами:

Программный путь:

  1. Перейти в режим редактирования.
  2. Выберите стиль страницы / блока.
  3. Перейдите в «Основные настройки» и нажмите «Тема: Информация», чтобы увидеть все различные шаблоны, которые вы можете изменить.
  4. Добавьте html, который вы хотите создать, и распечатайте переменные представления, где это необходимо.

Обновление конфигурации: Использование пакета Displayпакет Display предоставляет нам возможность размещать ваши ярлыки в строке или выше и добавлять даже для их скрытия. Также могут быть добавлены пользовательские классы к каждому из элементов представления. Дополнительные параметры включают:

  • Экспортируемые
  • Добавьте свои собственные настраиваемые поля в бэкэнд или в код
  • Добавьте собственные макеты в свою тему (только для D7)
  • Измените метки, добавьте стили или переопределите настройки полей (семантические поля).
  • Полная интеграция с представлениями и панелями
  • Расширьте возможности ваших макетов, установив Field Group
  • Оптимальная производительность с интеграцией Object cache (D6) или Entity cache (D7)
карт-бланш
источник