[РЕШЕНО] Темизация exposed filter

Аватар пользователя RayB

В виевс два exposed фильтра, как их обернуть в разные классы для темизации?

http://druit.ru/blogs/views/45 здесь описывается как, но я так и не смог заставить работать по примеру №3.

Помогите составить правильный views-exposed-form.tpl.php.

Ключевые слова:
Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя penexe
penexe 6 лет назад

1) что мешало задать вопрос тамже в вопросах и ответах?
2)

<?php drupal_set_message('<pre>'. print_r($widgets, 1) .'</pre>'); ?>

сделали? выводит id-шники полей?

Аватар пользователя RayB
RayB 6 лет назад

да, айдишники я получил, только не полей а самих фильтров:
edit-cat
edit-tags

... да развелось хороших ресурсов о друпале, даже не знаешь где спросить, чтоб ответ получить :) не знаю почему сразу там не спросил, наверное из-за регистрации

Аватар пользователя penexe
penexe 6 лет назад

id должны быть в виде

Array
(
[filter-data_text] => stdClass Object
(
[widget] => хтмл код поля
[operator] =>
[label] => Company Name Contains
)
)

filter-data_text - id

вот этот код для вывода даже лучше  <?php drupal_set_message('<pre>'. check_plain(print_r($widgets, 1)) .'</pre>'); ?>

Аватар пользователя RayB
RayB 6 лет назад
penexe написал:
filter-data_text - id

Ура вам! Действительно принимал за ID другие значения. Спасибо за помощь.

Такой views-exposed-form.tpl.php будет правильным (то есть он работает, но может составлен не правильно)?:

<?php if (!empty($q)): ?>
  <?php
    
// This ensures that, if clean URLs are off, the 'q' is added first so that
    // it shows up first in the URL.
    
print $q;
  
?>
<?php 
endif; ?>
<div class="views-exposed-form">
  <div class="views-exposed-widgets clear-block">
             <div class="views-exposed-widget-tags">
      <label for="<?php print $widgets['filter-field_tags_value']->id?>">
        <?php print $widgets['filter-field_tags_value']->label?>
      </label>
        <div class="views-widget">
      <?php print $widgets['filter-field_tags_value']->widget?>
        </div>
      </div>
      <div class="views-exposed-widget-groups">
      <label for="<?php print $widgets['filter-group_nid']->id?>">
        <?php print $widgets['filter-group_nid']->label?>
      </label>
        <div class="views-widget">
      <?php print $widgets['filter-group_nid']->widget?>
        </div>
      </div>

    <div class="views-exposed-widget">
      <?php print $button ?>
    </div>
  </div>
</div>?>

Аватар пользователя penexe
penexe 6 лет назад

можно было просто добавить к выводу класса $id, тогда бы везде были классы. и незабудте файл правильно назвать, а то все фильтры такие будут :)

Аватар пользователя RayB
RayB 6 лет назад
penexe написал:
можно было просто добавить к выводу класса $id

а можете написать как это?

Аватар пользователя penexe
penexe 6 лет назад

там где вывод дива с классом написать class="<?php print $id; ?>"

Аватар пользователя RayB
RayB 6 лет назад
penexe написал:

там где вывод дива с классом написать class="<?php print $id; ?>"

а ларчик просто открывался... спасибо еще раз