Поиск в главном меню
Здравствуйте. Делаю сейчас сайт по Вашим видео урокам на основе темы zen-7.x-5.1, и возник вопрос как добавить поиск в main menu, в админки в блоках есть Navigation bar но добавляя туда блок он отображается под main menu. Объясните пожалуйста поподробнее, если это вообще возможно осуществить. За ранее спасибо.
Здравствуйте,
в шаблоне 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; }
Подробнее про блочную верстку и обтекание можно здесь почитать-посмотреть:
- Учебник CSS - Урок 4 - Свойство display. Отличие div от span.
- Учебник CSS - Урок 5 - Свойства float, clear. Обтекание и конец обтекания.
в page.tpl.php вообще нет упоминаний search а код меню наверно этот?
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 на место поставить
Здравствуйте, возник еще вопрос по поиску, как это делается через CSS или через Js скрипт, что кнопка поиска находится прямо в текстовом поле (form-text)?
Видимо это все таки через margin этот промежуток можно удалить между кнопкой и полем ввода + картинка кнопки правильно нарисованная под поле ввода нужна... Наверно так Оо