Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

Подскажите, что нужно сделать, чтобы поиск заработал в позиции 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 и ниже

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

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

  • +1 2
Надіслати
Поділитися на інших сайтах


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

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

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

  • +1 2
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

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

Копирую из 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 month later...
  • 3 months later...

подниму тему
переносим поиск по выше указанному методу
далее заставляем работать 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 month later...

подниму тему

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

далее заставляем работать 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 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.