Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Перенести поиск в column_left [РЕШЕНО]


 Поделиться

Рекомендованные сообщения

Подскажите, что нужно сделать, чтобы поиск заработал в позиции colunm_left, то есть в файл

catalog/view/theme/тема/template/common/column_left.tpl я добавил следующий код из header.tpl:

<div id="search">
<div class="button-search"></div>
<?php if ($filter_name) { ?>
<input type="text" name="filter_name" value="<?php echo $filter_name; ?>" />
<?php } else { ?>
<input type="text" name="filter_name" value="<?php echo $text_search; ?>" onclick="this.value = '';" onkeydown="this.style.color = '#000000';" />
<?php } ?>
 </div>

естественно у меня выскакивает ошибка Undefined variable: filter_name in ..\catalog\view\theme\gruzovik\template\common\column_left.tpl

Что и где нужно дописать? Поиском по форуму воспользовался, но найти не смог.

Частично разобрался, добавил в column_left.php такой код из header.php

if (isset($this->request->get['filter_name'])) {
  $this->data['filter_name'] = $this->request->get['filter_name'];
} else {
  $this->data['filter_name'] = '';
}

Но этого не достаточно, поиск заработал, только вот value в поле поиска следующее:

Notice: Undefined variable: text_search in ..\catalog\view\theme\gruzovik\template\common\column_left.tpl on line 6

Понял, что лечится это добавлением в column_left.php строки:

$this->data['text_search'] = $this->language->get('text_search');

В value Стало отображаться: text_search

Теперь нужно изменить языковой файл, пока не понял какой...

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Возможно я неправильно понял вопрос, но я позицию поисковой формы отрегулировал в catalog\view\theme\default\stylesheet\ с записи #header #search и ниже

Ссылка на комментарий
Поделиться на других сайтах


Возможно я неправильно понял вопрос, но я позицию поисковой формы отрегулировал в catalog\view\theme\default\stylesheet\ с записи #header #search и ниже

Сделать так несколько неграмотно, ведь вы переместили блок поиска с помощью CSS, а это надо делать перенося код поиска в column_left.tpl

Объясняю почему - у вас может образоваться наложение блока с поиском на остальные блоки в левой колонке.

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах


Сделать так несколько неграмотно...

Согласен, css - отдельный разговор, нужно именно html(php)-код формы поиска впихнуть в column_left.tpl.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Разобрался, необходимо в файле catalog/controller/common/column_left.php подключить языковой файл header'a следующим образом:

$this->language->load('common/header');

Можно закрывать, спасибо за внимание 8-)

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

А как сделать копию поиска?

Копирую из template\common\header.tpl

<div id="search">
<div class="button-search"></div>
<?php if ($filter_name) { ?>
<input type="text" name="filter_name" value="<?php echo $filter_name; ?>" />
<?php } else { ?>
<input type="text" name="filter_name" value="<?php echo $text_search; ?>" onclick="this.value = '';" onkeydown="this.style.color = '#000000';" />
<?php } ?>
 </div>

и вставляю в column-left.tpl далее как писалось выше в теме, проблема в том что т.к. это второй поиск то скрипт берет значение из первого, т.е. если в первом поиске значение по умолчанию "Поиск...." а во втором ввести значение из клавиатуры то почему то ищется именно по значению первого поиска...

пробывал везде прописать filter_name1 и в common.js скопировать функцию отвечающею за поиск изменив значение также на filter_name1 но безрезультатно...

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

Хм, все сделал только теперь есть проблема - поиск не срабатывает по нажатию enter  :(

Не пойму в чем может быть причина

Ссылка на комментарий
Поделиться на других сайтах


  • 3 месяца спустя...

подниму тему
переносим поиск по выше указанному методу
далее заставляем работать enter
я так понимаю взять наш поиск в form
и получаем

  <form> 
    <div class="button-search"></div>
    <?php if ($filter_name) { ?>
    <input type="text" name="filter_name" value="<?php echo $filter_name; ?>" />
    <?php } else { ?>
    <input type="text" name="filter_name" value="<?php echo $text_search; ?>" onclick="this.value = '';" onkeydown="this.style.color = '#000000';" />
    <?php } ?>
  </form> 

далее добавляем action в form логично на страницу с поиском с введенными данными

<form action="/index.php?route=product/search&= ''"> 

но почему-то редиректит на главную и прибавляет к  концу url как раз введенные данные

чувствую дело в кавычках, подскажете?

Ссылка на комментарий
Поделиться на других сайтах


Ссылка на комментарий
Поделиться на других сайтах

http://www.opencart.com/index.php?route=extension/extension/info&extension_id=2715

 

проверено  , работает на 1.5.4.1

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

еще подсказали, если кому нужно, сама не проверяла
в файле catalog/view/j[/size]avascript/comm[/size]on.js  нужно поменять: 

$('#header input[name=\'f[/size]ilter_name\']'[/size]).bind('keydow[/size]n', function(e) { 

на:

$('#column-lef[/size]t input[name=\'f[/size]ilter_name\'], #column-right input[name=\'f[/size]ilter_name\'] ').bind('keydo[/size]wn', function(e) {
Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

подниму тему

переносим поиск по выше указанному методу

далее заставляем работать enter

я так понимаю взять наш поиск в form

и получаем

  <form> 
    <div class="button-search"></div>
    <?php if ($filter_name) { ?>
    <input type="text" name="filter_name" value="<?php echo $filter_name; ?>" />
    <?php } else { ?>
    <input type="text" name="filter_name" value="<?php echo $text_search; ?>" onclick="this.value = '';" onkeydown="this.style.color = '#000000';" />
    <?php } ?>
  </form> 

далее добавляем action в form логично на страницу с поиском с введенными данными

<form action="/index.php?route=product/search&= ''"> 

но почему-то редиректит на главную и прибавляет к  концу url как раз введенные данные

чувствую дело в кавычках, подскажете?

 

Зачем сочинять так сложно...

 

Просто форма поиска должна быть внутри div'а header,в противном случае в common.js в части /* Search */ меняем #header input на ваш стиль. Enter должен будет работать...

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


  • 7 лет спустя...
В 20.02.2013 в 16:14, sooslick сказал:

Согласен, css - отдельный разговор, нужно именно html(php)-код формы поиска впихнуть в column_left.tpl.

 

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.