дополнительное поле поиска

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем alexlead, 10 сен 2015.

  1. alexlead

    alexlead Новичок

    Сообщения:
    3
    Симпатии:
    0
    Привет всем!
    Нужна подсказка по Опенкарт 2.0.3
    Переделываю шаблон - на галвной странице у меня получилось 2 поля поиска - поле из шапки шабллона перекинул в модальное окно, Есть второе поле поиска в теле, попробовал перенести функцию напрямую - не срабатывает. Копаюсь в файлах темы .tpl Какие файлы ещё подлежат переделке? Может есть ссылка на какие-нибудь толковые материалы по этой тематике?
     
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    пишите конкретно, что перенесли и куда и что не сработало.
     
  3. alexlead

    alexlead Новичок

    Сообщения:
    3
    Симпатии:
    0
    Приложил скриншот. Второе поле поиска на главной странице не работает, располагается в home.tpl
    Даже если просто пытаюсь использовать одно поле поиска, если обращение идёт не в шаблоне header.tpl, то поиск не работает.
     

    Вложения:

    • shop.png
      shop.png
      Размер файла:
      145,1 КБ
      Просмотров:
      44
  4. Vlad

    Vlad Эксперт

    Сообщения:
    4.146
    Симпатии:
    1.003
    лучше бы ссылку на сайт.. так было бы лучше.

    Поиск срабатывает скриптом, который нходится тут catalog\view\javascript\common.js

    смотреть то что ниже /* Search */
     
    alexlead нравится это.
  5. alexlead

    alexlead Новичок

    Сообщения:
    3
    Симпатии:
    0
    доступно, большое спасибо!
     
  6. Brute

    Brute Новичок

    Сообщения:
    4
    Симпатии:
    1
    Столкнулся с похожей задачей, нужно было два поиска один в футере, другой возле хлебных крошек. В footer перенес, лишнее из header убрал. Всё заработало.

    Теперь нужно добавить рядом с Breadcrumbs ещё одну строку поиска, нахрапом ничего не получается. Подскажите, пожалуйста, как решили вопрос у себя более подробно.
     
  7. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
     
  8. Brute

    Brute Новичок

    Сообщения:
    4
    Симпатии:
    1

    Хочу добавить справа от Новинки (ну и на других внутренних там же), смотрю ваши посты в теме http://forum.opencart-russia.ru/threads/kak-perenesti-pole-poiska-i-korzinu.117/
    Как перенести понял и перенес, нижний работает. А вот как сделать второй, пока понять не могу, знания JS почти 0-ые (
     
    Последнее редактирование: 2 мар 2016
  9. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    вы добавьте сначала, а там видно будет. Вместо id используйте классы, чтобы дублей не было или id разные. И все заработает на одном скрипте
     
    Brute нравится это.
  10. Brute

    Brute Новичок

    Сообщения:
    4
    Симпатии:
    1
    И то верно :)

    Добавил в блок рядом с Breadcrumbs :

    Код:
    <div class="input-group my_search" id="search">
      <input type="text" class="form-control input-lg" placeholder="Поиск" value="" name="search">
      <span class="input-group-btn">
        <button class="btn btn-default btn-lg" type="button"><i class="fa fa-search"></i></button>
      </span>
    </div>
    В footer:
    Код:
    <div id="search1" >
             <div class="input-group my_search" id="search">
                <input type="text" class="form-control input-lg" placeholder="Поиск" value="" name="search">
                 <span class="input-group-btn">
                 <button class="btn btn-default btn-lg" type="button"><i class="fa fa-search"></i></button>
                 </span>
              </div>
           </div>
    common.js :
    Код:
    $('#search input[name=\'search\']').parent().find('button').on('click', function() {
            url = $('base').attr('href') + 'index.php?route=product/search';
    
            var value = $('.my_search input[name=\'search\']').val();
    
            if (value) {
                url += '&search=' + encodeURIComponent(value);
            }
    
            location = url;
        });
    
        $('#search input[name=\'search\']').on('keydown', function(e) {
            if (e.keyCode == 13) {
                $('.my_search input[name=\'search\']').parent().find('button').trigger('click');
            }
        });
    Верхний работает нижний нет(переходит на страницу поиска но не передает параметры). Вижу ошибку со вторым одинаковым id, но если его меняю, то вторая кнопка никак не реагирует на нажатия.
     
    Последнее редактирование: 3 мар 2016
  11. Brute

    Brute Новичок

    Сообщения:
    4
    Симпатии:
    1
    Решено!
    Ален спасибо за помощь и тему http://forum.opencart-russia.ru/threads/kak-perenesti-pole-poiska-i-korzinu.117/

    Два поиска работают вместе на одной странице:
    Верхний оставил с предыдущего сообщения без изменений, нижний переписал так:
    Код:
    div class="input-group my_search" id="search" style="max-width: 250px;">
                <input type="text" class="form-control input-lg" placeholder="Поиск" value="" name="search1">
                 <span class="input-group-btn">
                 <button class="btn btn-default btn-lg" type="button"><i class="fa fa-search"></i></button>
                 </span>
              </div>
    В common.js : добавил после первого блока /* Search */:

    Код:
    /* Search 2*/
        $('#search input[name=\'search1\']').parent().find('button').on('click', function() {
            url = $('base').attr('href') + 'index.php?route=product/search';
    
            var value = $('.my_search input[name=\'search1\']').val();
    
            if (value) {
                url += '&search=' + encodeURIComponent(value);
            }
    
            location = url;
        });
    
        $('#search input[name=\'search1\']').on('keydown', function(e) {
            if (e.keyCode == 13) {
                $('.my_search input[name=\'search1\']').parent().find('button').trigger('click');
            }
        });
    
     
    Romans нравится это.