Как я могу удалить сгенерированные по умолчанию теги в результате просмотра?


Я использую представления на своем веб-сайте drupal. Я установил "стиль" в "Неформатированный" и "Стиль строки" в "Поля'

Также я переписал вывод поля с помощью своих HTML-тегов.

Но в результате у меня возникла проблема. Каждая строка расположена внутри тега [div] , например, первая строка расположена в

<div class="views-row views-row-1 views-row-odd views-row-first"></div>

Как я могу настроить представление, чтобы удалить этот дополнительный тег [div] ?!?!?

Мне не нужна эта обертка.

 7
Author: stefgosselin, 2012-04-29

7 answers

Если вы не хотите касаться темы, вы можете использовать модуль Семантические представления, чтобы удалить все дополнительные div.

 7
Author: Nathan Bomshteyn, 2012-04-30 13:18:11

Проще всего скопировать файлы шаблонов из "сайты/все/модули/представления/тема/" в вашу тему (обычно я создаю подкаталог "представления/").

Если вы хотите внести это изменение во все темы, отредактируйте"views-view-unformatted.tpl.php ".

Если вы хотите просто изменить это представление, отредактируйте представление, затем нажмите на ссылку Тема: Информация . В нем будут показаны предложения по шаблону для представления. Копировать Если вы хотите внести это изменение для всех тем, скопируйте "views-view-unformatted.tpl.php "к правильному имени и отредактируйте этот файл.

В обоих случаях убедитесь, что вы очистили кэш Drupal, чтобы убедиться, что система найдет новые файлы.

 9
Author: mpdonadio, 2012-04-29 17:00:39

Это решение объединяет и основывается на решениях Дэвида Пола и MDP и последовательно удаляет <div class="views-row ..."> для всех представлений, которые правильно настроены без дополнительных модулей.

Drupal 7 и 8

Шаг 1: Отключите все конфигурации классов в разделе Параметры стиля раздела Формат представления.

Вы должны сделать это для всех видов, с которых хотите удалить оболочку от:

Views Format Style Settings

Drupal 7

Шаг 2: Скопируйте views-view-unformatted.tpl.php из модуля Представления в папку templates вашей темы и измените логику, чтобы игнорировать div, когда классы пусты.

Измените следующие строки с:

<div<?php if ($classes_array[$id]) { print ' class="' . $classes_array[$id] .'"';  } ?>>
  <?php print $row; ?>
</div>

Кому:

<?php if ($classes_array[$id]) : ?><div class="<?php print $classes_array[$id]; ?>"><?php endif; ?>
  <?php print $row; ?>
<?php if ($classes_array[$id]) : ?></div><?php endif; ?>

Drupal 8

Шаг 2: Скопируйте views-view-unformatted.html.twig из модуля Представления в папку templates/views/ вашей темы и измените логику, чтобы игнорировать div, когда {{row.attributes}} пустой.

Измените следующие строки с:

<div{{ row.attributes.addClass(row_classes) }}>
  {{ row.content }}
</div>

Кому:

{% if default_row_class or row.attributes is not empty %}
<div{{ row.attributes.addClass(row_classes) }}>
  {{ row.content }}
</div>
{% else %}
  {{ row.content }}
{% endif %}

Честно говоря, я не уверен, почему модуль Views не делает этого сам... это полный WTF и может быть хорошим улучшением для опыта пользователя.

 5
Author: JamesWilson, 2018-03-31 03:21:05

Вы хотите заглянуть в раздел Theming: Information и переопределить один из стилизованных шаблонов для вашего представления. Вот где все это происходит. Обязательно используйте кнопку повторного сканирования при создании файла tpl с соответствующим именем, чтобы Drupal его подобрал.

 1
Author: Artur, 2012-04-29 16:58:45

Чтобы удалить это в Drupal 7, вы можете нажать на настройки полей и отключить "Предоставлять элементы оболочки по умолчанию"

enter image description here

 1
Author: Alex Caputo, 2015-05-04 23:09:17

Если вы используете Drupal 7, вам не нужно играть с файлами шаблонов, чтобы удалить дивы-оболочки. Эти обертки являются частью вывода, что предполагает, что ими можно управлять в представлении, которое они могут.

В разделе ФОРМАТ> Показать: поля |настройки - нажмите "Настройки", затем снимите флажок "Обертка". Вот и все.

 0
Author: David Paul, 2012-05-16 10:22:32

Я достиг этого, переопределив views-view.tpl.php файл. Скопируйте этот файл из модуля views в каталог вашей темы и удалите начальную оболочку. enter image description here

Также удалите div, обертывающий строки $.

enter image description here

 0
Author: rakesmh14, 2016-03-31 04:54:47