Створіть файл шаблону для блоку переглядів


19

Є багато про тематизацію користувацьких блоків, а як щодо блоків, створених переглядами?

Блок моїх переглядів має ідентифікатор: block-views-posts-listing-block,

Я намагаюся багато способів іменування файлу шаблону, наприклад: block - block - views-posts-listing-block.tpl.php, але я не можу знайти правильне ім'я файлу.


1
Модуль розробника теми може повідомити вам ім'я файлу шаблону.
Освальд

Дякую, але я виявляю, що Themer для D7 іноді не працює належним чином.
Кодіум

Відповіді:


18

Відредагуйте свій погляд. і У розділі "Додаткові" параметри ваших даних про блок натисніть на "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. потім внесіть зміни у файл шаблону. Якщо цей шаблон не дозволяє внести потрібні зміни, знайдіть інші шаблони відповідно до ваших потреб.

Зрештою, якщо ви додасте новий шаблон, перезавантажте список файлів шаблонів:

Важливо! Додаючи, видаляючи або перейменуючи файли шаблонів, необхідно повідомити про Drupal про зміни, зробивши його повторним переглядом файлів у вашій системі. Натиснувши кнопку «Перезавантажити файли шаблону», ви очистите реєстр тем Drupal і тим самим запустите цей процес перегляду. Виділені шаблони (у списку шаблонів над кнопкою "Перезавантажити файли шаблону") будуть відображати новий стан вашої системи.

Також модуль розробника тем http://drupal.org/project/devel_themer, запропонований Освальдом, може бути корисним для виявлення можливих шаблонів / и для зміни конкретних елементів відповідно до ваших критеріїв. Я не рекомендую цей модуль увімкнутий у виробництві навколишнього середовища (у моєму випадку навіть я відключив модуль у тестовій обстановці, оскільки, здається, є конфлікти з поглядами, але коли це було необхідно, був дуже корисним)


Ні, це не допомагає при виведенні блоку представлень тем. Це лише для вмісту перегляду теми, але я хочу, щоб тематичний блок, який охоплює мій погляд,
Codium

Здрастуйте, перегляньте ще раз перелік шаблонів, зазначених у "Інформація про тему" в розділі Перегляд-> Блокування, є кілька шаблонів, які закінчуються --blockна його імені. Запам’ятайте шаблони reescan і пам’ятайте, що введіть шаблон у каталог вашої поточної теми (скопіюйте вибраний шаблон із модулів / поглядів / теми). шаблон повинен мати назву, запропоновану у списку "Інформація про теми". Це працює.
cigotete

@drupality, я додав приклад із кроками для перегляду процесу, будь ласка, перегляньте у відповіді абзац " наприклад ".
cigotete

Дякую, але я також не можу видалити обгортку div default = "content" за замовчуванням. Я можу лише змінити HTML, створений переглядами
Codium

2
@ moon.watcher Я думаю, ти неправильно розумієш. Закінчення файлу шаблону "блоком" не впливає на тематизацію самого блоку. Це робить той шаблон шаблону специфічним для блоку, який видає подання (як перегляд може виводити кілька блоків з одного виду). Тематичний вміст із представлення виводу виводиться в механізм тематизації блоків і загортається у розмітку, надану block.tpl.php. Що дружинність намагається зробити (як і я) - це змінити тематику самого блоку.

18

Для тих, хто шукає відповідь у D7, згідно з розробником теми (він же devel_themer), ви можете створити tpl заміщення для блоку перегляду за допомогою конвенції:

блок - перегляди-- {view's machine_name } -блок

Тому в наведеному прикладі ви отримаєте

блок - перегляди-- пост-лістинг -block.tpl.php

Без пробілів (я не зміг це редагувати належним чином, щоб дозволити всім бути вбудованим.


Я підтверджую, що noTxt є правильним, перейдіть до розділу блоку та відредагуйте блок. У URL-адресі повинно з’явитися назва блоку подання з підкресленням, my_view_name-block. замініть підкреслення таким чином my-view-name і використовуйте такий формат: "block - views - my-view-name = block.tpl.php"
Nevos

2
Так, це правильніша відповідь, тому: блок - перегляди - VIEWNAME-MACHINENAMEOFDISPLAY.tpl.php Увага до одного тире перед назвою машини! Ім'я машини = за замовчуванням його називають блоком, блоком-1 тощо, але ви можете перейменувати його у інтерфейсі перегляду.
Нікіт

7

Наприкінці півгодини змінюючи назви tpl, ось мій остаточний висновок:

block--views--[view-name]-[display-name].tpl.php

[view-name] - частина [display-name] може бути знайдена як noTxt сказана або приєднавшись до '-' id імені перегляду та id імені відображення перегляду, -block в кінці невірний .


5

У Друпалі 8

введіть тут опис зображення

Шаблон полів буде таким:

views-view-polja - [view-name] - блок-1.html.twig


Це питання стосувалося D7 ... Чому у Вашій відповіді Drupal 8 ?
Pierre.Vriens

@ Pierre.Vriens, оскільки питання популярне у видах (а не в модулі), я зрозумів, що тут слід додати відповідь версії D8.
Без зачистки

Тепер це цікава ідея ... Як щодо того, щоб зробити те ж саме для цих + 21К питань тоді?
Pierre.Vriens

@ Pierre.Vriens більшість із них не користуються популярністю.
Без зачистки

1
8 тегів додано, приємно;)
Codium

1

block--views--[view-name]-[display-name].tpl.phpслід змінити на block--views--[view-name]-[machinename].tpl.php.

Ім’я машини ви знайдете в розширеному розділі перегляду, де написано інше


1

Шаблони назв файлів, описані вище, працюють НЕ БЕЗПЕЧНО, ваше ім'я перегляду + відображуване ім’я довше певної кількості символів !! Мене це спіймало і не можу знайти, чому файл шаблону, що закінчується на ..., block.tpl.phpпрацював, а наступне відображення ... block-1.tpl.phpне працювало.

Виявляється, що Views замінює ім'я машини хешем MD5, якщо ім'я занадто довге. Якщо ви хочете бути впевнені в назві шаблону, яку ви повинні використовувати, додайте $conf['theme_debug'] = TRUE;у свою сторінку settings.php та перегляньте джерело сторінки. якщо ви знайдете щось на кшталт block--views--d131dd02c5e6eec4.... вам краще скоротити назву машини в представленні даних (якщо вам це вдасться зробити ... Це не читабельне для людини ім'я). Або ж вам потрібно скористатися файлом шаблону з таким дурним іменем.

Дивись також

Назва машини блоку Views "хеширується" (?)

і

https://www.drupal.org/node/346602


0

Перевірте сторінку https://www.drupal.org/node/1089656 та інформацію про підкреслення, які перегляди використовує:

Також ще один приклад із Views: якщо у вас є блок, створений переглядами з назвою перегляду "front_news" та ідентифікатором відображення "block_1", то пропозицією щодо гака теми буде: block - views - front-news-block-1. tpl.php (зауважте, що у вас є підкреслення в ідентифікаторі відображення чи в імені перегляду - ви повинні перетворити їх на один тире)


0

Для блоків всередині панелей панелей рішення, що надається noTxt та іншими, не працює. Синтаксис буде таким (без підкреслення!):

panels-pane-block--views-[view-name]-[display-machine-name].tpl.php

Дякуємо користувачеві3074436, що надав налаштування $ conf ['theme_debug'], щоб розібратися у цій винятковій темі, що переважає


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.