我实际上已经到达了Google的底部,试图弄清楚如何向视图的每一行添加一个CSS类。诀窍在于,我需要根据视图所来自的节点中的某些数据来动态确定每一行的类。为节点巧妙地实现这一目标的功能是-
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并不会这样做。
可能不认为这是一种好习惯(将php逻辑放入tpl中),但是将其直接放在tpl行中怎么办?
—
tostinni
那不是CSS类,那是HTML。它应该是语义的。尝试使用有意义的类,并为CSS保留红色/绿色。
—
Capi Etheriel