Как назвать 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.