Форма поиска дать другой класс

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Форма поиска дать другой класс

Сообщение kjra » 21 авг 2014, 13:19

Здравствуйте! Возник вопрос, возможно ли сделать для "Типа недвижимости" свой класс, при этом остальные параметры поиска должны иметь существующий.
пример как надо
Код: Выделить всё
<div id="search_form" class="inner_form">
<
div class="search_inner_new">...</div>
<
div class="search_inner_row">...</div>
<
div class="search_inner_row">...</div>
<
div class="search_inner_row">...</div>
<
div class="search_inner_row">...</div>
</
div

При этом в search_form.php цикл с перебором(возможно я ошибаюсь, с php никогда не имел дело):
Код: Выделить всё
foreach ($searchFields as $search) {
    if ($isInner) {
        $divClass = 'search_inner_row';
    } else {
        $divClass = 'header-form-line';
    }

    if ($search->status <= SearchFormModel::STATUS_NOT_REMOVE) {
       $this->renderPartial('//site/_search_field_' . $search->field, array(
            'divClass' => $divClass,
            'textClass' => 'formalabel',
            'controlClass' => 'formacontrol',
            'fieldClass' => 'width290 search-input-new',
            'minWidth' => '290',
            'isInner' => $isInner,
        ));
    } else {
        $this->renderPartial('//site/_search_new_field', array(
            'divClass' => $divClass,
            'textClass' => 'formalabel',
            'controlClass' => 'formacontrol',
            'fieldClass' => 'width290 search-input-new',
            'minWidth' => '290',
            'search' => $search,
            'isInner' => $isInner,
        ));
    } 

Как я понимаю необходимо перед
Код: Выделить всё
 if ($search->status <= SearchFormModel::STATUS_NOT_REMOVE) 
добавить обработчик* который найдет необходимое поле и присвоит определенный класс.
Что я пытался сделать и в результате чего получил много дублей "типа недвижимости" после каждого параметра, но со своим классом(это было логично из-за цикла):
Код: Выделить всё
foreach ($searchFields as $search) {
    if ($isInner) {
        $divClass = 'search_inner_row';
        $divClass_new = 'search_inner_new';
    } else {
        $divClass = 'header-form-line';
    }

    if ($search->status <= SearchFormModel::STATUS_NOT_REMOVE) {
    $this->renderPartial('//site/_search_field_obj_type', array(
            'divClass' => $divClass_new,
            'textClass' => 'formalabel',
            'controlClass' => 'formacontrol',
            'fieldClass' => 'width290 search-input-new',
            'minWidth' => '290',
            'search' => $search,
        ));
    
       $this
->renderPartial('//site/_search_field_' . $search->field, array(
            'divClass' => $divClass,
            'textClass' => 'formalabel',
            'controlClass' => 'formacontrol',
            'fieldClass' => 'width290 search-input-new',
            'minWidth' => '290',
            'isInner' => $isInner,
        ));
    } else {
        $this->renderPartial('//site/_search_new_field', array(
            'divClass' => $divClass,
            'textClass' => 'formalabel',
            'controlClass' => 'formacontrol',
            'fieldClass' => 'width290 search-input-new',
            'minWidth' => '290',
            'search' => $search,
            'isInner' => $isInner,
        ));
    } 

p.s. в php не силен, ориентируюсь по логике и школьным знаниям.
Возможно кто-то сможет помочь;) и направить меня на путь истенный.
kjra
Незнакомец
 
Сообщения: 9
Зарегистрирован: 13 авг 2014, 15:35
Очки репутации: 1

Re: Форма поиска дать другой класс

Сообщение andipas » 21 авг 2014, 20:26

Вроде бы так:

Код: Выделить всё

    foreach 
($searchFields as $search) {
        if ($isInner) {
            $divClass = 'search_inner_row';
        } else {
            $divClass = 'header-form-line';
        }

        if ($search->status <= SearchFormModel::STATUS_NOT_REMOVE) {

           if(
$search->field == 'obj_type'){
                 
$divClass 'name_new_class';
           }
        
           $this
->renderPartial('//site/_search_field_' . $search->field, array(
                'divClass' => $divClass,
                'textClass' => 'formalabel',
                'controlClass' => 'formacontrol',
                'fieldClass' => 'width290 search-input-new',
                'minWidth' => '290',
                'isInner' => $isInner,
            ));
        } else {
            $this->renderPartial('//site/_search_new_field', array(
                'divClass' => $divClass,
                'textClass' => 'formalabel',
                'controlClass' => 'formacontrol',
                'fieldClass' => 'width290 search-input-new',
                'minWidth' => '290',
                'search' => $search,
                'isInner' => $isInner,
            ));
        } 

 
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Форма поиска дать другой класс

Сообщение kjra » 25 авг 2014, 11:04

Большое спасибо.
очень помогло! еще раз приношу извинения за мою неграмотность в кодинге у богов программирования)
kjra
Незнакомец
 
Сообщения: 9
Зарегистрирован: 13 авг 2014, 15:35
Очки репутации: 1


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

cron