Не получаеся поменять стиль Exposed Filters через template.php

Главные вкладки

Аватар пользователя Liolya Liolya 23 февраля 2009 в 11:34

Всем добрый день! В друпале я новичок, вот только пятый день разбираюсь.
Сделала расширенный фильтр через модуль View в Exposed Filters. Все работает, но выглядит не очень. Решила добавить в template.php свой шаблон. Нашла статью вот где все доходчиво написано. Сделала, а внешний вид остается прежним.
Итак имею:
- содержание template.php

function phptemplate_views_filters($form) { //Предопределяет функцию из views.module для всех видов
  $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

с содержимым

<table border="0" cellpadding="5" class="apart">
<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 - кнопка отправить
?>

но вид фильтра не меняется. Подскажите пожалуйста, в чем может быть дело!

Комментарии

Аватар пользователя 10banov 10banov 23 февраля 2009 в 12:09

Не совсем понял, что такое 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

foreach ($view->result as $result) {
// вытягиваем из каждой записи $result нужнные данные
// оформляем как захочется
}

А потом еще надо зайти в редактирование вашего view. Там в первом столбце свойств будет свойство Тема (Theme). Нажмите и выберите Rescan. По-идее Drupal автоматически должен найти ваш шаблон оформления.

Если я не о том, то вот ссылка на API по View2 Smile
http://groups.drupal.org/node/10129

Аватар пользователя yugin yugin 23 февраля 2009 в 12:08

вообще-то в статье про 5 версию друпала речь идет, и соответственно, про VIEWS 1-й версии. если у вас 6-ка, то тут уже версия VIEWS 2.

Аватар пользователя yugin yugin 23 февраля 2009 в 12:12

"10banov" wrote:
Не совсем понял, что такое Exposed Filters, но попробую описать общую работу по темизации view.

Exposed Filters - обособленные фильтры

Аватар пользователя 10banov 10banov 23 февраля 2009 в 12:16

"yugin" wrote:
Exposed Filters - обособленные фильтры

Переводить то я тоже умею Smile
Я не понял - это тип view какой-то, или просто имеется ввиду фильтр во view? Или еще чего. У меня просто модуль view руссифицирован.
Объясните, если не лень Wink

Аватар пользователя yugin yugin 23 февраля 2009 в 12:31

"10banov" wrote:
Переводить то я тоже умею Smile
Я не понял - это тип view какой-то, или просто имеется ввиду фильтр во view? Или еще чего. У меня просто модуль view руссифицирован.
Объясните, если не лень ;)

это не тип вида. и я бы даже сказал не тип фильтра. это возможность выносить фильтры в отдельное поле, и потом показывать на странице вида список нод, в зависимоти от фильтра. например, для однородной продукции в каталоге такой способ вполне удобен. делаем одну страницу вида, делаем несколько обособленных фильтров, к примеру по типу товаров, берущихся из разных терминов. Фильтры у нас будут выпадающим списком. Далее, на этой странице можем выбирать нужные нам типы товаров просто в выпадающем списке, чем делать несколько видов на разные типы товаров. Это упрощенное объяснение обособленных фильтров. Попробуйте просто сделать несколько одинаковых фильтров типа Структура - Term, указывая разные термины, и вынести их в обособленные.

Аватар пользователя digital_sword digital_sword 23 февраля 2009 в 12:35

"10banov" wrote:
У меня просто модуль view руссифицирован.

10banov, а вы где взяли полную русификацию, так что там expose переведено? Я беру с drupaler.ru, там много непереведеного. Интересно где полные переводы

Аватар пользователя 10banov 10banov 23 февраля 2009 в 13:24

yugin, спасибо. вроде стало понятней. Я с этим еще не сталкивался, поэтому даже представления не имел, что такая система есть. Вроде кажется удобной. Надо будет посмотреть как-нибудь поближе ее.
digital_sword, вопрос конечно задали... Да я и не помню. Наверно тоже на друпалере. Она конечно не совсем полная, но довольно приличная. Не пришлось хелпы всякие читать по использованию. Так методом тыка разобрался. Попробуйте еще раз скачать с друпалера - может дополнили руссификацию. Я то недавно качал.