В Drupal 7 я создал View, в котором перечислены несколько полей. Поля сгруппированы по другому полю (термин ID поля). Разметка выглядит так:
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
Однако мне нужно, чтобы разметка выглядела так:
<div id="term_1">
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_2">
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_3">
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
Я знаю, что вы можете использовать views-view-unformatted.tpl.php (Style Output), чтобы переопределить представление, а затем вставить DIV, чтобы обернуть группу.
Тем не менее, мне нужен мой упаковщик DIV, чтобы быть таким <div id="term_ID_{number of ID}">
. Идентификатор номера будет соответствовать термину, который использовался для группировки полей. По умолчанию, если вы используете views-view-unformatted.tpl.php, вы не можете вставить в него токены для идентификаторов терминов.
Любая помощь будет оценена.
tpl
файл, см. Ответ здесь: drupal.stackexchange.com/questions/11468/… tldr; по вашему мнению, на странице редактирования, в разделе «Дополнительно», щелкните тему: информацияПопробуйте Формат: список HTML. Это обернет все это в список предметов. Для моей цели это идеально (список пунктов таксономии). Надеюсь это поможет.
источник
Вы пробовали переписать результаты результатов ? Нажмите на поле, которое вы хотите изменить, и прокрутите вниз, пока не увидите результаты перезаписи . Установите флажок « Перезаписать выходные данные этого поля», а затем настроить HTML при необходимости. Для токенов вы можете использовать Шаблоны замены, показанные в поле под областью ввода текста.
Что касается шаблонов замены , обратите внимание на предупреждение, которое отображает виды:
Если этого недостаточно, попробуйте добавить новое поле, Global: Custom text . Это позволит вам добавить произвольный HTML- код, и здесь также доступны шаблоны замены . Вы можете использовать два отдельных глобальных: настраиваемых текстовых поля для добавления
<div>
начального и конечного тегов.источник
Global: Custom text
эффекты строку в группе , но не за пределами группы,В эти дни я столкнулся с той же проблемой. Кроме того, что мне было нужно, помимо групповой обертки, был класс CSS, как первый / последний в каждой группе.
Поэтому я добавил в views-view-unformatted.tpl.php следующий код php:
Вот HTML-часть с оберткой и классами:
Выход будет:
Может быть полезно - наслаждайтесь
источник
Так что я думаю, самая большая загадка - как генерировать класс, используя значение $ title в тегах h3. Я бы попробовал модуль транслитерации и следующий фрагмент:
Это сработало для меня, когда я должен был делать именованные якоря в представлении.
источник
Очень полезно - мне нужно было добавить некоторые классы альфа / омега для разметки на основе сетки, а также некоторые нечетные четные, чтобы иметь возможность очистить оба для каждой строки. Я отредактировал строку из:
к этому:
Что дает требуемый результат.
источник
Вам не нужен модуль транслитерации. Ядро Drupal имеет функцию drupal_html_class для этого.
источник
У меня была похожая проблема сегодня, но мне нужен был определенный класс в html-оболочке, в моем случае представление сгруппировано по терминам таксономии, и нам нужен определенный стиль для каждого термина, поэтому для каждого термина нужен отдельный класс. Вот как мы изменили представление неформатированного шаблона:
В представлении для отображения поля термина таксономии установлено: «Показать идентификатор объекта». Таким образом, мы получаем идентификатор как часть имени класса, а затем загружаем заголовок на основе того же идентификатора.
источник
Для тех, кто не хочет погружаться в код и возиться с шаблонами, есть простой способ сделать это, удалив классы div по умолчанию, используя Fences, и добавив свой собственный div в префикс и суффикс поля, используя Simple field formatter . Если у вас есть несколько полей, просто добавьте содержащий div в префикс первого поля и в суффикс последнего поля.
Таким образом, нативная структура с незафиксированными областями префикса и суффикса будет выглядеть примерно так:
Если бы вы собирались добавить класс "foo", он стал бы
источник
Ответ от chrisjlee выше объясняет это хорошо, за исключением того, что назвать файл шаблона. Если вы хотите изменить только одно представление, новый файл должен содержать имя компьютера представления. Вы можете найти это в URL для страницы редактирования представления. Это очень хорошо объяснено в этом комментарии к аналогичной проблеме: https://www.drupal.org/node/1383696#comment-6729128
Мне нужен был класс вокруг строк, использующий значение $ title, чтобы я мог отобразить их в 2 столбца. Вот код:
источник
Я сталкивался с подобной проблемой. Я хотел, чтобы мои сгруппированные строки отображались в аккордеоне начальной загрузки. Я не мог заставить его работать с модулем Bootstrap Views .
Комментарий № 4 решил мою проблему.
Вот как
views-view-unformatted-[my_view_name]-[my_display_name].tpl.php
выглядит мояконечно, чтобы аккордеон работал, вам также нужно отредактировать views-view- [my_view_name] - [my_display_name] .tpl.php, чтобы
Я оставил код по умолчанию из модуля между html-комментариями.
Надеюсь, это поможет.
источник