Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Перенести поиск в 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 и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.