我使用3次在Drupal 7輸出字段列表,並使用分組字段生成單獨的列表一個唯一的ID Drupal的視圖列表分組。我需要每個分組的有應用於< UL一個唯一的ID屬性>,但他們不默認。添加
據我所知,我需要編輯views-view-list.tpl.php模板,但我不知道如何實現每次迭代一個唯一的ID。
任何人都可以幫忙嗎?我能想到的把我的頭頂部可能會包含在您的意見 - 視圖 - list.tpl.php文件
我使用3次在Drupal 7輸出字段列表,並使用分組字段生成單獨的列表一個唯一的ID Drupal的視圖列表分組。我需要每個分組的有應用於< UL一個唯一的ID屬性>,但他們不默認。添加
據我所知,我需要編輯views-view-list.tpl.php模板,但我不知道如何實現每次迭代一個唯一的ID。
任何人都可以幫忙嗎?我能想到的把我的頭頂部可能會包含在您的意見 - 視圖 - list.tpl.php文件
最簡單的方法...
<?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; ?>
。
以供將來參考: 把一個div周圍everyting鑑於-意見-list.tpl.php。您可以(ab-)使用$ title來生成唯一的(但一致的)標識。
做這樣的:
<?php $id = str_replace('FOR ALL UNWANTED CHARS','',$title); ?>
<div id="<?php print strtolower($id); ?>">
您可以使用$視圖 - > dom_id變量。它是該視圖實例的唯一ID。
在你的.tpl.php文件:
<?php print $view->dom_id; ?>
從模塊\意見\主題\ 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.
?>
非常感謝您的回覆喬納森,但我應該有更具體的說,唯一的ID將被jQuery使用,因此需要保持一致。 'uniqid();'看起來隨着每次頁面加載都會產生一個隨機字符串,所以在這種情況下不能使用它。 – Velocity 2012-03-06 20:13:55