[РЕШЕНО] Ну ткните меня уже носом по темизации exposed filters

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

Комментарии

Аватар пользователя vgoodvin vgoodvin 22 ноября 2010 в 21:24

Если соберетесь альтерить то как обычно через hook_form_alter.
Если захотите добавить AHAH то там есть одна особенность - форма не ложится в кэш.

Аватар пользователя dvorak dvorak 22 ноября 2010 в 21:36

"varvashenia" wrote:
Начните с views\theme\views-exposed-form.tpl.php

А если у меня exposed filters в отдельном блоке? Мне такой тоже метод подойдёт? Допустим у меня views называется - details, в нем есть блок в выделенными в отдеоьный блок exposed фильтрами. В таком случае я должен скопировать views-exposed-form.tpl.php в свою theme, потом переименовать на views-exposed-form--details--block-1.tpl.php ? Я просто, что-то вроде пытался сделать, но как-то не получилось...

Аватар пользователя dvorak dvorak 22 ноября 2010 в 21:37

"vgoodvin" wrote:
Если соберетесь альтерить то как обычно через hook_form_alter.
Если захотите добавить AHAH то там есть одна особенность - форма не ложится в кэш.

Вот я куча пообных отрывков понаходил, но никак не могу в кучу сложить, для меня это новое (темизация eaxposed filters), хотя views темизирую без проблем, тут никак не могу сообразить... Дело в том, что они у меня в выделенном блоке...

Аватар пользователя vgoodvin vgoodvin 22 ноября 2010 в 22:04

"dvorak" wrote:
Вот я куча пообных отрывков понаходил, но никак не могу в кучу сложить, для меня это новое (темизация eaxposed filters), хотя views темизирую без проблем, тут никак не могу сообразить... Дело в том, что они у меня в выделенном блоке...

Все что я написал применимо только к разработке собственного модуля.

Аватар пользователя varvashenia varvashenia 22 ноября 2010 в 23:17

"dvorak" wrote:
А если у меня exposed filters в отдельном блоке? Мне такой тоже метод подойдёт? Допустим ....

Судя по drupal.org views-exposed-form.tpl.php поддерживает views-exposed-form--viewname--displayname.tpl.php и их комбинации - про блоки ни слова. Единственное, чего советуют сделать, так это клацнуть кнопку во вьюхе Rescan Template Files в Basic settings -> Theme

Если совсем не поможет, то я когда-то делал в теме примерно таким образом:

<?php
function MYTHEME_preprocess_views_exposed_form(&$vars$hook) {
    
// only alter the resources search exposed filter form
    
if ($vars['form']['#id'] == 'views-exposed-form-resources-menu-page-1') {
        
// Change the submit button
        
$vars['form']['submit']['#value'] = t('Search');
        
$vars['form']['submit']['#type'] = 'image_button';
        
$vars['form']['submit']['#src'] = path_to_theme() . '/images/btn_search.gif';
        unset(
$vars['form']['submit']['#printed']);
...
    }
}
?>
Аватар пользователя dvorak dvorak 23 ноября 2010 в 16:48

"varvashenia" wrote:
Если совсем не поможет, то я когда-то делал в теме примерно таким образом:

Понял, это попробую - отпишусь ...

Аватар пользователя Enemy Enemy 30 ноября 2011 в 1:37

views-exposed-form--all_holidays_gifts--page_1.tpl.php

all_holidays_gifts - имя вьюса
page_1 - имя блока или страницы )

всё прекрасно работает

Аватар пользователя Enemy Enemy 30 ноября 2011 в 1:38

кусман работающего кода:

<table style="border: none; margin-top: 10px;">
                <tr>
                        <td class="lkatalog" style="width:290px;">
                                <div  style="width: 270px; margin: 0 auto; ">
                                <label id="<?php print $widgets['filter-field_idmesto_value_many_to_one']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-field_idmesto_value_many_to_one']->label; ?>
                                </label>
                                <?php print $widgets['filter-field_idmesto_value_many_to_one']->widget; ?>
                                <label id="<?php print $widgets['filter-term_node_tid_depth']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-term_node_tid_depth']->label; ?>
                                </label>
                                <?php print $widgets['filter-term_node_tid_depth']->widget; ?>
                                <label id="<?php print $widgets['filter-field_kuhnya_value_many_to_one']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-field_kuhnya_value_many_to_one']->label; ?>
                                </label>
                                <?php print $widgets['filter-field_kuhnya_value_many_to_one']->widget; ?>
                                </div>
                        </td>
                        <td class="ckatalog" style="width:270px;">
                        <div  style="width: 250px; margin: 0 auto;">
                                <label id="<?php print $widgets['filter-keys']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-keys']->label; ?>
                                </label>
                                <?php print $widgets['filter-keys']->widget; ?>
                                <?php print $button ?>
                        </div>
                        </td>
                        <td class="rkatalog" style="width:380px;">
                        <div  style="width: 360px; margin: 0 auto;">
                                <label id="<?php print $widgets['filter-field_osob_value_many_to_one']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-field_osob_value_many_to_one']->label; ?>
                                </label>
                                <?php print $widgets['filter-field_osob_value_many_to_one']->widget; ?>
                                <label id="<?php print $widgets['filter-field_chek_value']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-field_chek_value']->label; ?>
                                </label>
                                <?php print $widgets['filter-field_chek_value']->widget; ?>
                                <label id="<?php print $widgets['filter-field_chek_value_1']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-field_chek_value_1']->label; ?>
                                </label>
                                <?php print $widgets['filter-field_chek_value_1']->widget; ?>
                                <label id="<?php print $widgets['filter-field_chek_value_1']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print (' руб.'); ?>
                                </label>
                                <label id="<?php print $widgets['filter-field_vmestimost_value']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-field_vmestimost_value']->label; ?>
                                </label>
                                <?php print $widgets['filter-field_vmestimost_value']->widget; ?>
                                <label id="<?php print $widgets['filter-field_vmestimost_value_1']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print $widgets['filter-field_vmestimost_value_1']->label; ?>
                                </label>
                                <?php print $widgets['filter-field_vmestimost_value_1']->widget; ?>
                                <label id="<?php print $widgets['filter-field_chek_value_1']->id.'_1'; ?>" for="<?php print $widgets['filter-keys']->id; ?>">
                                        <?php print (' человек'); ?>
                                </label>
                        </div>
                        </td>
                </tr>
        </table>