Добавить уникальный идентификатор в список групп Drupal Views - PullRequest
0 голосов
/ 06 марта 2012

Я использую Views 3 в Drupal 7 для вывода списка полей и использую поле группировки для создания отдельных списков. Мне нужно, чтобы к каждой группе применялся уникальный атрибут ID, применяемый к

Ответы [ 3 ]

0 голосов
/ 27 апреля 2014

Для дальнейшего использования: поместите div вокруг каждого в view-views-list.tpl.php.Вы можете (ab-) использовать $ title для генерации уникальных (но непротиворечивых) идентификаторов.

Сделайте это так:

<?php $id = str_replace('FOR ALL UNWANTED CHARS','',$title); ?>

<div id="<?php print strtolower($id); ?>">
0 голосов
/ 29 ноября 2016

Вы можете использовать переменную $ view-> dom_id.Это уникальный идентификатор для этого экземпляра представлений.

В вашем файле .tpl.php:

<?php print $view->dom_id; ?>

Из комментариев в модулях \ views \ theme \ theme.inc:

<?php
    // It is true that the DIV wrapper has classes denoting the name of the view
    // and its display ID, but this is not enough to unequivocally match a view
    // with its HTML, because one view may appear several times on the page. So
    // we set up a hash with the current time, $dom_id, to issue a "unique" identifier for
    // each view. This identifier is written to both Drupal.settings and the DIV
    // wrapper.
?>
0 голосов
/ 07 марта 2012

самый простой способ думать о макушке головы ...

<?php print $wrapper_prefix; ?>
  <?php if (!empty($title)) : ?>
    <h3><?php print $title; ?></h3>
  <?php endif; ?>
  <ul id="<?php echo uniqid(); ?>">
    <?php foreach ($rows as $id => $row): ?>
      <li class="<?php print $classes_array[$id]; ?>"><?php print $row; ?></li>
    <?php endforeach; ?>
  </ul>
<?php print $wrapper_suffix; ?> 

, которое будет помещено в ваш файл views-view-list.tpl.php.

...