Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Поиск в главном меню

Поиск в главном меню
, by

Здравствуйте. Делаю сейчас сайт по Вашим видео урокам на основе темы zen-7.x-5.1,  и возник вопрос как добавить поиск в main menu, в админки в блоках есть Navigation bar но добавляя туда блок он отображается под main menu. Объясните пожалуйста поподробнее, если это вообще возможно осуществить. За ранее спасибо.

1 answer
votes: 938
Answer

Здравствуйте,

в шаблоне page.tpl.php вы можете найти код для вывода main menu и search вам нужно эти два куска кода поставить рядом:

<div id="wrap-menu">
  <div class="main-menu">
    // здесь кусок кода для вывода меню
  </div>
  <div class="wrap-search">
    // здесь кусок кода для поиска
  </div>
  <div style="clear:both"></div>
</div>

Оборачиваем все в отдельный див wrap-menu и перед закрытием добавляем clear:both, чтобы закончить обтекание меню и поиска. Ну и соответственно нужно будет поиску  и меню поставить обтекания:

.main-menu{
  float: left;
}

.wrap-search{
  float: right;
}

Подробнее про блочную верстку и обтекание можно здесь почитать-посмотреть:

 


в page.tpl.php вообще нет упоминаний search Frown а код меню наверно этот?

 

1. <?php if ($main_menu): ?>
2.        <nav id="main-menu" role="navigation">
3.          <?php
4.          // This code snippet is hard to modify. We recommend turning off the
5.          // "Main menu" on your sub-theme's settings form, deleting this PHP
6.          // code block, and, instead, using the "Menu block" module.
7.          // @see http://drupal.org/project/menu_block
8.          print theme('links__system_main_menu', array(
9.            'links' => $main_menu,
10.            'attributes' => array(
11.              'class' => array('links', 'inline', 'clearfix'),
12.            ),
13.            'heading' => array(
15.              'text' => t('Main menu'),
16.              'level' => 'h2',
17.              'class' => array('element-invisible'),
18.            ),
19.          )); ?>


Посмотрите доступные переменные в page.tpl.php, там должен быть search, в комментариях должно быть указано. А main menu да этот.

 


Если не получится, тогда придется через  module_invoke() выводить:

<?php
      $block = module_invoke('search', 'block_view', 'form');
        print render($block['content']);
?>

Да, вроде $search_box убрали из page.tpl.phpl.


Огромное спасибо все заработало, надо будет через css на место поставитьSmile


Здравствуйте, возник еще вопрос по поиску, как это делается через CSS или через Js скрипт, что кнопка поиска находится прямо в текстовом поле (form-text)?

Видимо это все таки через margin этот промежуток можно удалить между кнопкой и полем ввода + картинка кнопки правильно нарисованная под поле ввода нужна... Наверно так Оо