Drupal では、次を使用して、ノード テンプレート内の分類項目のリストをレンダリングします。
print render($content['field_my_taxonomy']);
次のようなリストが表示されます。
<ul class="links">
<li class="taxonomy-term-reference-0">
<a property="rdfs:label skos:prefLabel" typeof="skos:Concept" href="somewhere">
Tomaten
</a>
</li>
(...)
ここまでは順調ですね。ここで、独自のクラスのいくつかをliタグとulタグの両方に適用したいと思います。
theme_preprocess_node を使用して、各liタグにクラスを追加することができました。
$vars['content']['field_my_taxonomy'][$i]['#options']['attributes']['class'] = "my-li-class";
(ここで、$i には li-item のインデックスが含まれます)。
ただし、クラスをULに追加する同様の手順が見つかりません
特定のフィールドのテンプレート ファイルを作成することや、分類項目のテーマ関数をまとめてオーバーライドすることを含む解決策を見つけました。テーマにかなりの「膨張」を追加する必要があるため、これらのソリューションは好きではありません。配列に新しいアイテムを追加して、Drupal にレンダリングを任せたいだけです。確かに、 ['attributes']['class']='my-ul-classをどこかの配列に追加できるはず ですか?