Всем добрый день! В друпале я новичок, вот только пятый день разбираюсь.
Сделала расширенный фильтр через модуль View в Exposed Filters. Все работает, но выглядит не очень. Решила добавить в template.php свой шаблон. Нашла статью вот где все доходчиво написано. Сделала, а внешний вид остается прежним.
Итак имею:
- содержание template.php
$view = $form['view']['#value'];
foreach ($view->exposed_filter as $count => $expose) {
$row[] = drupal_render($form["op$count"]) ;
$box[] = drupal_render($form["filter$count"]);
$label[] =$expose['label'];
}
$row[] = drupal_render($form['submit']);
$label[] = ''; // so the column count is the same.
$title = $view->page_title;
return _phptemplate_callback('views-filters-vacp', array('title' => $title, 'row' => $row, 'box' => $box, 'label'=>$label));
}
и создала файл views-filters-vacp.tpl.php
с содержимым
<tr>
<td id="test" style="color:red" ><?php echo $label[0] . ' '; //хотел поставить двоеточия, потом убрал, кавычки оставил ?></td>
<td><?php echo $label[1] . ' '; ?></td>
<td><?php echo $label[2] . ' '; ?></td>
<td><?php echo $label[3] . ' '; ?></td>
<td><?php echo $label[4] . ' '; ?></td>
</tr>
<tr>
<td><?php echo $box[0]; ?></td>
<td><?php echo $box[1]; ?></td>
<td><?php echo $box[2]; ?></td>
<td><?php echo $box[3]; ?></td>
<td><?php echo $box[4]; ?></td>
</tr>
</table>
<table border="0" cellpadding="5" class="apart">
<tr>
<td><?php echo $label[5] . ' '; ?></td>
<td><?php echo $label[6] . ' '; ?></td>
<td><?php echo $label[7] . ' '; ?></td>
<td><?php echo $label[8] . ' '; ?></td>
<td><?php echo $label[9] . ' '; ?></td>
</tr>
<tr>
<td><?php echo $box[5]; ?></td>
<td><?php echo $box[6]; ?></td>
<td><?php echo $box[7]; ?></td>
<td><?php echo $box[8]; ?></td>
<td><?php echo $box[9]; ?></td>
</tr>
</table>
<?php
echo $row[10]; //Последний элемент типа $row - кнопка отправить
?>
но вид фильтра не меняется. Подскажите пожалуйста, в чем может быть дело!
Комментарии
Не совсем понял, что такое Exposed Filters, но попробую описать общую работу по темизации view.
Во-первых, эта ссылка для Drupal 5.x. А у вас, я так понимаю, 6.x.
Система немножко другая стала... В template.php ничего менять не надо.
Нужно создать файл views-view--viewname.tpl.php и пложить его в themes/YourOwnTheme/
Причем, если у вас view имеет имя view_name, то файл надо называть views-view--view-name.tpl.php
В этом файле уже обрабатываем выборку вашего view
// вытягиваем из каждой записи $result нужнные данные
// оформляем как захочется
}
А потом еще надо зайти в редактирование вашего view. Там в первом столбце свойств будет свойство Тема (Theme). Нажмите и выберите Rescan. По-идее Drupal автоматически должен найти ваш шаблон оформления.
Если я не о том, то вот ссылка на API по View2
http://groups.drupal.org/node/10129
вообще-то в статье про 5 версию друпала речь идет, и соответственно, про VIEWS 1-й версии. если у вас 6-ка, то тут уже версия VIEWS 2.
опа, пока писал, меня уже опередили
Exposed Filters - обособленные фильтры
Liolya, как получится, выложите здесь, пожалуйста, решение
Переводить то я тоже умею
Я не понял - это тип view какой-то, или просто имеется ввиду фильтр во view? Или еще чего. У меня просто модуль view руссифицирован.
Объясните, если не лень
это не тип вида. и я бы даже сказал не тип фильтра. это возможность выносить фильтры в отдельное поле, и потом показывать на странице вида список нод, в зависимоти от фильтра. например, для однородной продукции в каталоге такой способ вполне удобен. делаем одну страницу вида, делаем несколько обособленных фильтров, к примеру по типу товаров, берущихся из разных терминов. Фильтры у нас будут выпадающим списком. Далее, на этой странице можем выбирать нужные нам типы товаров просто в выпадающем списке, чем делать несколько видов на разные типы товаров. Это упрощенное объяснение обособленных фильтров. Попробуйте просто сделать несколько одинаковых фильтров типа Структура - Term, указывая разные термины, и вынести их в обособленные.
10banov, а вы где взяли полную русификацию, так что там expose переведено? Я беру с drupaler.ru, там много непереведеного. Интересно где полные переводы
yugin, спасибо. вроде стало понятней. Я с этим еще не сталкивался, поэтому даже представления не имел, что такая система есть. Вроде кажется удобной. Надо будет посмотреть как-нибудь поближе ее.
digital_sword, вопрос конечно задали... Да я и не помню. Наверно тоже на друпалере. Она конечно не совсем полная, но довольно приличная. Не пришлось хелпы всякие читать по использованию. Так методом тыка разобрался. Попробуйте еще раз скачать с друпалера - может дополнили руссификацию. Я то недавно качал.
Там нужно не function phptemplate_views_filters($form)
а function phptemplate_views_filters_VIEW_NAME($form)
Собственно всё.