質問: '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はそれを行いません。
回答: _function pgc_preprocess_views_view_unformatted__home_listing(&$vars) { // borrowed this bit from http://drupal.org/node/312220 $view = $vars['view']; $rows = $vars['rows']; foreach ($rows as $id => $row) { $data = $view->result[$id]; $event_class = get_the_classes($data->nid); $vars['classes'][$id] .= ' ' . $event_class; } } function get_the_classes($nid) { $node = node_load($nid); global $user; if ($user->uid != 0) { // not for anon users. $event_class = ''; if ($node->field_trainer[0]['uid'] == null) { $event_class= 'red'; } else { $num_trainers = $node->field_number_of_trainers[0]['value']; $count = count($node->field_trainer); if($count < $num_trainers) { $event_class = 'red'; } else { $event_class = 'green'; } } return $event_class; } } _それがきれいかどうかわからない。それがどのように機能するか分からない。しかし、それは機能します。編集(2012年2月1日):drupalをもう1年使用した後、node_load()を実行する以外に、これを実行する他の方法を見つけようとしましたビューのすべての行。