添加

2012-03-06 43 views
0

我使用3次在Drupal 7輸出字段列表,並使用分組字段生成單獨的列表一個唯一的ID Drupal的視圖列表分組。我需要每個分組的有應用於< UL一個唯一的ID屬性>,但他們不默認。添加

據我所知,我需要編輯views-view-list.tpl.php模板,但我不知道如何實現每次迭代一個唯一的ID。

任何人都可以幫忙嗎?我能想到的把我的頭頂部可能會包含在您的意見 - 視圖 - list.tpl.php文件

回答

0

最簡單的方法...

<?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; ?> 

+0

非常感謝您的回覆喬納森,但我應該有更具體的說,唯一的ID將被jQuery使用,因此需要保持一致。 'uniqid();'看起來隨着每次頁面加載都會產生一個隨機字符串,所以在這種情況下不能使用它。 – Velocity 2012-03-06 20:13:55

0

以供將來參考: 把一個div周圍everyting鑑於-意見-list.tpl.php。您可以(ab-)使用$ title來生成唯一的(但一致的)標識。

做這樣的:

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

<div id="<?php print strtolower($id); ?>"> 
0

您可以使用$視圖 - > 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. 
?>