ビューの各行にcssクラスを追加する方法を理解しようとしているGoogleの底に実際に達しました。トリックは、ビューが取得するノードからのデータの一部に基づいて動的に決定される各行のクラスが必要なことです。これをノードに対してきちんと引き離す機能は-
function pgc_preprocess(&$variables) {
$node = $variables['node'];
if ($node->type == "event") {
$variables['event_class'] = '';
$num_trainers = $node->field_number_of_trainers[0]['value'];
$count = count($node->field_trainer);
if($count < $num_trainers) {
$variables['event_class'] = 'red';
} else {
$variables['event_class'] = 'green';
}
return $variables;
}
}
これのポイントは、十分な人がサインアップしていないイベントを色分けすることです。フロントページにイベントのリストがあり、それらも色分けする必要があります。私は次のような簡単な解決策があることを本当に望んでいます-
function pgc_preprocess_views_view_unformatted(&$variables) {
// Magic here, preferably having something to
// do with the function I already wrote.
}
<?php print $event_class ?>
ビュー.tplをドロップするだけでは実行されません。
それは良い習慣とは考えられないかもしれません(tplにphpロジックを置く)が、これを直接行tplに置くのはどうですか?
—
tostinni '19年
これはCSSクラスではなく、HTMLです。そして、それは意味論的であることになっています。意味のあるクラスを使用して、CSSに赤/緑を残してみてください。
—
Capi Etheriel 2012