Как назвать views -cted-form.tpl.php для отображения просмотров


8

Я пытался, views-exposed-form--"view_name"--"display_name".tpl.phpно это не работает. Можно ли создать файл шаблона, который применяется только к открытому фильтру отображения представлений?

У меня есть два открытых фильтра из двух разных дисплеев в одном представлении, и я хотел бы разделить два открытых фильтра по-разному в двух файлах шаблонов.


Я пытаюсь Но это не работает.

Это не совсем ответ на вопрос. Возможно, было бы лучше задать вопрос еще раз и объяснить, как и почему существующее решение не работает для вас »?
— Neograph734

Это не дает ответа на вопрос. Как только у вас будет достаточно репутации, вы сможете комментировать любой пост ; вместо этого предоставьте ответы, которые не требуют разъяснений от автора . - Из обзора
— Шон Конн

Ответы:


2

Все возможно в Drupal;)

Вероятно, Views не предоставляет автоматически предложенные шаблоны для открытого фильтра, как это делается для самих полей. Так что вам нужно будет сделать немного больше для этого:

  1. Используйте модуль devel_themer, чтобы узнать, какая функция / шаблон использует этот открытый фильтр.
  2. Создайте препроцессор для этой функции / шаблона темы. В вашем препроцессоре вы можете вставить динамические предложения шаблонов, которые будут срабатывать в зависимости от любого условия, которое вы хотите. Вы можете создать этот препроцессор либо в файле template.php вашей пользовательской темы, либо в одном из ваших пользовательских модулей. Эта статья DO поможет вам в создании динамического шаблона.

Я предполагаю, что вы будете отображать различные виды просмотров в зависимости от пути URL. Если бы это было так, то вы можете использовать arg()функцию Drupal в своем препроцессоре, чтобы выяснить, что такое отображение View, которое вы отображаете в данный момент, и сконструировать ваше предложение шаблона, используя эту информацию.

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


25

В Drupal 7 вы можете использовать форму представления с представлением - view_name - display_name.tpl.php (Заменить подчеркивание тире в имени представления и отображаемом имени.)

У меня так получилось.


Это сработало от меня. Вот пример моего открытого имени шаблона формы: views -cted-form - trunk_shows - panel-pane-1.tpl.php
— albertski

Даже несмотря на то, что ваша форма представлений - view_name - display_name.tpl.php может не отображаться в списке, когда вы делаете это, при добавлении нового файла шаблона вы также должны отредактировать представление, нажмите Advanced-> Other-> Theme -> Информация, а затем нажмите кнопку Rescan Template Files.
— Кбриннер

Вам не нужно отображаемое имя, если вам не нужно быть таким конкретным. Что касается моего блочного представления, «Просмотр событий», присвоение имени моему файлу шаблона «views -cted-form - events-view.tpl.php» работало для меня. Спасибо, @kaimlaluno. Вероятно, это должен быть принятый ответ.
— ProGrammar

3

в друпал8

/ Администратор / структура / вид / вид / event_related

было бы

просмотров подвергавшихся воздействию форма - event_related.html.twig


1

Для drupal 8 режим отладки темы не отображает доступные варианты шаблонов. Вы можете узнать, какие из них доступны, используя kint (), или создать новые в этом хуке:

/**
 * Implements template_theme_suggestions_node_HOOK_alter().
 * Add theme suggestions to the view exposed forms.
 */
function YOUR_THEME_theme_suggestions_views_exposed_form_alter(&$suggestions, $vars, $hook) {
  kint($vars['form']['#theme']);
  //$suggestions[] = 'views__exposed__form__' . $anything; 
}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.