それが最高のタイトルかわからない...
たとえば、フィールドをコンテンツタイプに追加します。優先。私の好みは、これを分類法参照にすることです(オートコンプリート用語ウィジェット(タグ付け)を使用)。
次に、おそらく前処理を通じて、クラスとして入力された用語をノードに追加します(特にティーザーが重要ではない場合)。
私は世界最大のphpコーダーではなく、これがあまり意味をなさない場合は謝罪します。私は3日間壁に頭をぶつけてきました。どんな助けでも大歓迎です:)
MYTHEME_preprocess_node
や$variables['classes_array'][]
と関係があるようですが、指を当てることができないようです。
これが出発点です。
function mytheme_preprocess_node (&$variables)
{
$node = $variables["node"];
if (isset($node->field_foo["und"][0]["taxonomy_term"])) {
foreach ($node->field_foo["und"] as $foo) {
$term = $foo["taxonomy_term"];
$variables["classes_array"][] = "term-" . str_replace(" ", "-", strtolower($term->name));
}
}
}
これはほとんどテストされておらず、実際の状況は異なる場合があります。 field_foo
は分類基準のマシン名で、テーマはフラット化$variables["classes_array"]
で使用するためにnode.tpl.php
。
それほど難しいことではありません。
あなたの問題は、あなたが間違った変数を連鎖させているということです、これはうまくいくはずです:
function MYTHEME_preprocess_node(&$vars) {
$vars['classes'] .= ' foo bar baz'; // $classes is a text string.
}