2012-03-06 9 views
0

Drupal 7でViews 3を使用してフィールドのリストを出力し、グループ化フィールドを使用して別のリストを生成しています。それぞれのグループに固有のID属性を持つようにする必要がありますが、それはデフォルトではありません。< ul>Drupal Viewsのリストグループにユニークな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

0

将来の参照のために: view-views-list.tpl.phpですべてのdivを囲みます。一意の(しかし一貫した)IDを生成するために、$タイトルを(ab-)使用することができます。

<?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. 
?> 
関連する問題