Помогите темизировать форму поиска

Тема в разделе "Drupal", создана пользователем zloy_admin, 9 сен 2013.

Информация :
Прежде чем создать новую тему внимательно ознакомьтесь с правилами раздела
Модераторы: DMS
  1. zloy_admin

    zloy_admin Разработчик

    Заблокирован
    Регистр.:
    15 авг 2011
    Сообщения:
    184
    Симпатии:
    27
    Ребят подскажите как темизировать форму поиска, точнее из стандартной сделать свою?
     
  2. shamaner

    shamaner Постоялец

    Регистр.:
    10 окт 2007
    Сообщения:
    140
    Симпатии:
    18
    шаблон же есть для темизации. какая друпа кстати у Вас?
     
    Последнее редактирование: 9 сен 2013
  3. zloy_admin

    zloy_admin Разработчик

    Заблокирован
    Регистр.:
    15 авг 2011
    Сообщения:
    184
    Симпатии:
    27
    Drupal 7.23, какой шаблон? Просто я из HTML шаблона делаю
     
  4. shamaner

    shamaner Постоялец

    Регистр.:
    10 окт 2007
    Сообщения:
    140
    Симпатии:
    18
    да не, есть же например search-block-form.tpl.php search-result.tpl.php search-results.tpl.php в директории module ядра. копируете нужный шаблон, сбрасываете кэш и делаете то что нужно. Самый простой способ
     
    VVS и zloy_admin нравится это.
  5. bonzik

    bonzik Постоялец

    Регистр.:
    1 дек 2006
    Сообщения:
    64
    Симпатии:
    14
    PHP:

    function carthelp_theme(){
      return array(
        
    'search_block_form' => array(
          
    'arguments' => array('form' => NULL),
        ),
      );
    }
    function 
    carthelp_search_block_form($form) {
      
    $output '';
      unset(
    $form['search_block_form']['#title']);
     
        
    $form['search_block_form']['#attributes']['class'] = 'sbox';
        
    $form['submit']['#type'] = 'image_button';
        
    $form['submit']['#id'] = 'b_img';
        
    $form['submit']['#src'] = drupal_get_path('theme''carthelp') . '/images/sbtn.png';
        
    $form['submit']['#attributes']['class'] = 'sbtn';
     
      
    $form['search_block_form']['#value'] = 'поиск';
      
    $form['submit']['#value'] = 'Найти';
      
    $form['search_block_form']['#attributes'] = array(
        
    'onBlur'=> "if (this.value.length == 0) {this.value='{$form['search_block_form']['#value']}'}",
        
    'onFocus'=> "if (this.value== '{$form['search_block_form']['#value']}') {this.value=''}"
      
    );
      
    $output .= drupal_render($form);
      return 
    $output;
    }
    вставляй нужные стили, и без всяких .tpl.php
     
  6. zuzik11

    zuzik11 Постоялец

    Регистр.:
    7 май 2013
    Сообщения:
    130
    Симпатии:
    62
    и кстати вариант предложеный bonzik - это по "феншую", как более быстродействующий
     
  7. shamaner

    shamaner Постоялец

    Регистр.:
    10 окт 2007
    Сообщения:
    140
    Симпатии:
    18
    более быстродействующий? да ну? кто то изменил систему шаблонизации? если быстрее, то тогда уж alter для форм.
     
    Последнее редактирование: 28 сен 2013
  8. zuzik11

    zuzik11 Постоялец

    Регистр.:
    7 май 2013
    Сообщения:
    130
    Симпатии:
    62
    прошу прощения, возможно я в неадеквате (обчитавшись книжек) :), но применение шаблонов типа search-block-form.tpl.php search-result.tpl.php search-results.tpl.php, это вмешательство в процесс визуализации на самом последнем его этапе, для которого как минимум вызывается функция drupal_discover_template(), чтобы найти ваш измененый шаблон, а это накладывает дополнительные расходы, махонькие :) но все же.
    Пожалуйста, поправьте меня если я не прав.

    p.s. Цитата из книги ПРОФЕССИОНАЛЬНАЯ РАЗРАБОТКА САЙТОВ НА Drupal 7
    Б. Мелансон, Ж. Луиси, К Негиеши, Г . Андерсон, Б. Сомерс, С . Корлоске, и др.
    стр. 316
    "Применение функций тем вместо шаблонов дает небольшой выигрыш в производительности,
    хотя разница по большому счету получается минимальной. Поэтому вопросы производительности
    в данном случае не должны влиять на ваш выбор."
     
    Последнее редактирование: 28 сен 2013
  9. shamaner

    shamaner Постоялец

    Регистр.:
    10 окт 2007
    Сообщения:
    140
    Симпатии:
    18
    Да правильно, я не спорю же. Но говорить по феншую как то неверно. генерация конечной dom все равно проходит через tpl же. "чтобы найти ваш измененый шаблон, а это накладывает дополнительные расходы, махонькие :) но все же."-- измененный, а так с ядреных модулей гребет все равно, обход своего шаблона все равно происходит, будут там лежать измененные шаблоны иль нет. Вот если бы был выбор, и можно было запретить обход tpl файлов, это другое дело.
     
  10. zuzik11

    zuzik11 Постоялец

    Регистр.:
    7 май 2013
    Сообщения:
    130
    Симпатии:
    62
    вам виднее, я начинающий друпаллер, захотелось вставить свои "5 копеек", не судите строго