Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Перенести поиск в 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
Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

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

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

  • +1 2
Link to comment
Share on other sites


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

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

  • +1 1
Link to comment
Share on other sites


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

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

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

  • +1 2
Link to comment
Share on other sites


  • 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 но безрезульитно...

Link to comment
Share on other sites


  • 1 month later...

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

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

Link to comment
Share on other sites


  • 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 как раз ввегденные данные

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

Link to comment
Share on other sites


еещё подсказали, если кому нужно, сама не проверяла
в файле 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) {
Link to comment
Share on other sites


  • 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
Link to comment
Share on other sites


  • 7 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.