J'ai en fait atteint le bas de Google en essayant de comprendre comment ajouter une classe CSS à chaque ligne d'une vue. L'astuce est que j'ai besoin que la classe de chaque ligne soit déterminée dynamiquement en fonction de certaines données du nœud à partir desquelles la vue est extraite. La fonction qui réussit parfaitement pour le nœud est -
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;
}
}
Le but est de coder par couleur un événement qui n'a pas eu suffisamment de gens inscrits. Il y aura une liste d'événements sur la première page, et j'ai besoin qu'ils soient également codés par couleur. J'espère vraiment qu'il y aura une solution simple dans le sens de -
function pgc_preprocess_views_view_unformatted(&$variables) {
// Magic here, preferably having something to
// do with the function I already wrote.
}
Le <?php print $event_class ?>
simple fait de laisser tomber la vue .tpl ne le fait pas.