Создать шаблонный файл для блока представлений
Вопрос
Есть много о тематических пользовательских блоках, но как насчет блоков, созданных представлениями?
В блоке моего представления есть идентификатор: блок-блок-листингование блоков-видов,
Я пробую много способов для файла шаблона именования, пример: block-block-views-posts-listing-block.tpl.php, но я не могу найти правильное имя файла.
Решение
Отредактируйте свой взгляд. и под «расширенными» настройками данных вашего блока нажмите "Theme: Information"
. Анкет Будет отображаться список параметров шаблонов.
Например, если в вашем блоке есть имя «Список сообщений», см. Возможные имена, перечисленные в разделе «Информация о теме»:
* Display output: views-view.tpl.php, views-view--posts-listing.tpl.php, views-view--default.tpl.php, views-view--block.tpl.php, views-view--posts-listing--block.tpl.php
* Style output: views-view-unformatted.tpl.php, views-view-unformatted--posts-listing.tpl.php, views-view-unformatted--default.tpl.php, views-view-unformatted--block.tpl.php, views-view-unformatted--posts-listing--block.tpl.php
* Row style output: views-view-fields.tpl.php, views-view-fields--posts-listing.tpl.php, views-view-fields--default.tpl.php, views-view-fields--block.tpl.php, views-view-fields--posts-listing--block.tpl.php
* Field Content: Title (ID: title): views-view-field.tpl.php, views-view-field--title.tpl.php, views-view-field--posts-listing.tpl.php, views-view-field--posts-listing--title.tpl.php, views-view-field--block.tpl.php, views-view-field--block--title.tpl.php, views-view-field--posts-listing--block.tpl.php, views-view-field--posts-listing--block--title.tpl.php
Например: В вашем блоке есть имя Сообщения в листинге, и имеет стиль неформатированный, тогда «информация о теме» предложите имя views-view-unformatted--posts-listing--block.tpl.php
(Это только одно из нескольких имен). Вы можете скопировать оригинал views-view-unformatted.tpl.php
Файл шаблона (расположенный в/модули/представления/тема) в ваш текущий каталог темы и переименовать этот файл с предложенным именем:views-view-unformatted--posts-listing--block.tpl.php
. Анкет Затем внесите изменения в файл шаблона. Если этот шаблон не позволяет внести ваши желательные изменения, ищите другие шаблоны в соответствии с вашими потребностями.
В конце концов, если вы добавите новый шаблон, список файлов шаблонов Rescan:
Важный! При добавлении, удалении или переименовании файлов шаблонов необходимо информировать о изменениях, чтобы изменить его файлы в вашей системе. Нажав кнопку «Файлы шаблонов Rescan», вы очистите реестр тем Drupal и тем самым запускаете этот процесс восстановления. Выделенные шаблоны (в вашем списке шаблонов выше «Кнопка« Файлы шаблонов ») будет отражать новое состояние вашей системы.
Также модуль разработчиков темы http://drupal.org/project/devel_themer Предлагаемый Освальдом может быть полезен для обнаружения возможных шаблонов/с для изменения определенных элементов в соответствии с вашими критериями. Я не рекомендую этот модуль, включенный в средах Productions (в моем случае, даже я отключил модуль в тестовой среде, потому что, похоже, возникает конфликт с взглядами, но когда это было необходимо, был очень полезен)
Другие советы
Для тех, кто ищет ответ в D7, по словам разработчика тем (он же devel_themer), вы можете создать переопределение TPL для блока представления, используя соглашение:
Блок-просмотр--{view's machine_name}-блокировать
Поэтому в примере дайте вам
Блок-просмотр-- после списка -block.tpl.php
Без пространств (я не мог бы отредактировать это правильно, чтобы все это было встроено.
В конце получаса меняя имена TPL, вот мой последний вывод:
block--views--[view-name]-[display-name].tpl.php
view-name]-[Display-name] часть можно найти, например, notxt, или соединение с идентификационным идентификационным идентификационным идентификационным идентификационным идентификационным идентификационным идентификационным идентификационным идентификационным Анкет
block--views--[view-name]-[display-name].tpl.php
должен быть изменен наblock--views--[view-name]-[machinename].tpl.php
.
Вы найдете название машины из вашего расширенного раздела, где он написан другим
Обработчики имени файла описываются выше, если только ваше имя представления + отображаемое имя длиннее, чем определенное количество символов !! Я был пойман этим и не мог найти, почему файл шаблона заканчивается ...block.tpl.php
работал и следующий дисплей ...block-1.tpl.php
не работал.
Оказывается, что виды заменяют имя машины хэшем MD5, если имя слишком длинное. Если вы хотите быть уверенным в названии шаблона, который вы должны использовать, добавьте $conf['theme_debug'] = TRUE;
В ваших настройках.php, а затем посмотрите на источник страницы. Если вы найдете что -то вроде block--views--d131dd02c5e6eec4
.... вам лучше сократить название машины представления (если вы справитесь с этим ... это не читаемое на человеку имя). Или вам нужно использовать файл шаблона с этим глупым именем.
смотрите также
Имя машины видов - это «хэширование» (?)
а также
Проверьте эту страницу https://www.drupal.org/node/1089656, и информация о недостатках, которые используют представления:
Кроме того, еще один пример с представлениями, если у вас есть блок, созданный представлениями с именем представления «Front_news» и отображение идентификатор «block_1», тогда предложением Theme Hook будет: Block-Views-Front-News-Block-1. tpl.php (Обратите внимание, когда у вас есть недостатки в идентификаторе дисплея или в имени представления - вы должны преобразовать их в одну черту)
Для блоков внутри панельных панелей решение, предоставленное NOTX, и другие, не работает. Синтаксис был бы тогда (без подчеркивания!):
panels-pane-block--views-[view-name]-[display-machine-name].tpl.php
Спасибо user3074436 за предоставление настройки $ conf ['theme_debug'], чтобы выяснить эту исключительную тему.
Вы находитесь на D7> = 7.33, вы можете отобразить theme_suggestion непосредственно на странице, когда HTML -комментарии с использованием:
в settings.php
$conf['theme_debug'] = TRUE;
Вот полная документацияhttps://www.drupal.org/docs/7/theming/overriding-themable-output/working-with-template-suggestions