[Решен] bootstrap navbar search проблема с js

Тип материала: 
Версия Drupal: 
Ключевые слова: 
Модули и темы: 
Чт, 05/01/2017 - 14:29

Здравствуйте, помогите советом. Сайт demoncash.ru использую тему bootstrap (sub-theme без cdn ) и пример, в style.css добавил стили, в me.info search.js - код , в template.php прописал:

<?php
function me_preprocess_page(&$variables){
  
$search_form drupal_get_form('search_form');
  
$search_box drupal_render($search_form);
  
$variables['search_box'] = $search_box;
}

/*
 *  Form alter to add missing bootstrap classes and role to search form.
 */

function me_form_alter(&$form, &$form_state$form_id) {
  if (
$form_id == 'search_form') {
    
$form['#attributes']['class'][] = 'navbar-form navbar-right';
    
$form['#attributes']['role'][] = 'search';
  }
}

function me_bootstrap_search_form_wrapper($variables) {

  $output '<div class="input-group">';
  
$output .= $variables['element']['#children'];
  
$output .= ' <span class="input-group-btn">';
  
$output .= '<button type="reset" class="btn btn-default"><span class="glyphicon glyphicon-remove"><span class="sr-only">Close</span></span></button><button type="submit" class="btn btn-primary"><span class="icon glyphicon glyphicon-search" aria-hidden="true"></span></button>';
  
$output .= '</span>';
  
$output .= '</div>';
  return 
$output;
}
?>

в page.tpl.php:


 <?php if (!empty($primary_nav) || !empty($secondary_nav) || !empty($page['navigation'])): ?>
      <div class="navbar-collapse collapse" id="navbar-collapse">
        <nav role="navigation">
          <?php if (!empty($primary_nav)): ?>
            <?php print render($primary_nav); ?>
          <?php endif; ?>
          <?php if (!empty($secondary_nav)): ?>
            <?php print render($secondary_nav); ?>
          <?php endif; ?>
/* вставил $search_box */
          <?php print $search_box?>
          <?php if (!empty($page['navigation'])): ?>
            <?php print render($page['navigation']); ?>
          <?php endif; ?>
        </nav>
      </div>

?>

но так и не работает.

Буду очень признателен за любые советы.

0 Спасибо

Лучший ответ

Аватар пользователя Grayw0lf
2 months 2 недели назад Grayw0lf #
(function ($) {
  $(function () {
    $(...);
  });
}) (jQuery);

а так почитайте https://habrahabr.ru/post/161039/ если конечно этот ваш код кастомный

2 Спасибо

Комментарии

Аватар пользователя BatKor
2 months 2 недели назад BatKor #

чтоэто за пример такой?

<form class="navbar-form" role="search">
                                        <div class="input-group">
                                                <input type="text" class="form-control pull-right" style="width: 300px; margin-right: 35px, border: 1px solid black; background-color: #e5e5e5;" placeholder="Search">
                                                <span class="input-group-btn">
                                                        <button type="reset" class="btn btn-default">
                                                                <span class="glyphicon glyphicon-remove">
                                                                        <span class="sr-only">Close</span>
                                                                </span>
                                                        </button>
                                                        <button type="submit" class="btn btn-default">
                                                                <span class="glyphicon glyphicon-search">
                                                                        <span class="sr-only">Search</span>
                                                                </span>
                                                        </button>
                                                </span>
                                        </div>
                                </form>
0 Спасибо
Аватар пользователя diitcash
2 months 2 недели назад diitcash #

не понял сути вопроса, за основу взял меню с http://bootsnipp.com/snippets/featured/inline-navbar-search, и пробую наладить данный код на друпал. Заметил еще проблему под анонимом кнопка поиска так и не отображается, хотя после входа обычным пользователем все норм ( user: test password: 123456 )

0 Спасибо
Аватар пользователя gun_dose
2 months 2 недели назад gun_dose #

Дайте анониму права на поиск.

0 Спасибо
Аватар пользователя diitcash
2 months 2 недели назад diitcash #

консоль браузера выдает ошибку $(function () { --- Uncaught TypeError: $ is not a function, кто хорошо понимает в js, почему функция не работает?

0 Спасибо
Аватар пользователя bestdrupal
2 months 2 недели назад bestdrupal #

Для вас подойдет мдуль jquery update у становите его.

0 Спасибо
Аватар пользователя diitcash
2 months 2 недели назад diitcash #

уже установлен давно 1.10 использую

0 Спасибо
Аватар пользователя Grayw0lf
2 months 2 недели назад Grayw0lf #

Что за код search.js ?

0 Спасибо
Аватар пользователя diitcash
2 months 2 недели назад diitcash #

применил, тоже самое, браузер все равно ругается на .js >> Была сделана попытка вызвать значение как функцию, но значение на самом деле не является функцией. Некоторый код ожидает от вас предоставить функцию, но этого не происходит. Я как то не правильно объявляю функцию в js, если скопипастить мой html код в пример, все Ок, у меня же не работает, jquery подключенно, код html приведен к нужному виду, но что то мешает

0 Спасибо
Аватар пользователя Grayw0lf
2 months 2 недели назад Grayw0lf #
(function ($) {
  $(function () {
    $(...);
  });
}) (jQuery);

а так почитайте https://habrahabr.ru/post/161039/ если конечно этот ваш код кастомный

2 Спасибо
Аватар пользователя diitcash
2 months 2 недели назад diitcash #
Grayw0lf написал:
(function ($) {

Огромное спасибо и за решение, за ссылку на статью просто не знаю как благодарить, в общем всяческих удач и позитива :)

0 Спасибо
Аватар пользователя Studio VIZA
2 months 2 недели назад Studio VIZA #
diitcash написал:
просто не знаю как благодарить

http://www.img.studioviza.ru/Shote7kel.png

0 Спасибо