Перейти к содержанию
kuyann

Проблема с поиском на сайте

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

При использовании функции поиск на сайте iflik.zz.mu выдает ошибку:

 

Поиск: Notice: Undefined variable: filter_name in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 12          Все категории                 Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 20        Товары для Мужчин                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 26              Бумажники                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Бумажники Кож.Зам.                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Кожаные бумажники                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Кожаные кошельки                                 Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 26              Галстуки                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Шелковые 7,5 см                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Шелковые 8,5 см                                 Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 26              Запонки                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Автомобильные логотипы                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Логотипы героев                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Оригинальные                                 Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 26              Ремни                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Натуральная кожа                                 Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 26              Сумки и портфели                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Портфели                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Сумки на плечо                                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 20        Товары для Женщин                                 Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 20        Товары для Авто                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 26              Видеорегистраторы                                 Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 26              Внешнее оснащение                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Болты на номерные знаки                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Накладки на дверные ручки                                 Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 26              Внутреннее оснащение                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Заглушки для ремней безопасности                         Notice: Undefined variable: filter_category_id in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 32                    Чехлы для ключей зажигания                                        Notice: Undefined variable: filter_sub_category in/home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 41  Поиск в подкатегориях

Notice: Undefined variable: filter_description in /home/u546765315/public_html/catalog/view/theme/shadow/template/product/search.tpl on line 48  Искать в описании товаров

Как это исправить? Вот содержимое файла search.tpl

<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
<div id="content"><?php echo $content_top; ?>
  <ul class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
    <?php } ?>
  </ul>
  <h1><?php echo $heading_title; ?></h1>
  <b><?php echo $text_critea; ?></b>
  <div class="content">
    <p><?php echo $entry_search; ?>
      <?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 $filter_name; ?>" onclick="this.value = '';" onkeydown="this.style.color = '000000'" style="color: #999;" />
      <?php } ?>
      <select name="filter_category_id">
        <option value="0"><?php echo $text_category; ?></option>
        <?php foreach ($categories as $category_1) { ?>
        <?php if ($category_1['category_id'] == $filter_category_id) { ?>
        <option value="<?php echo $category_1['category_id']; ?>" selected="selected"><?php echo $category_1['name']; ?></option>
        <?php } else { ?>
        <option value="<?php echo $category_1['category_id']; ?>"><?php echo $category_1['name']; ?></option>
        <?php } ?>
        <?php foreach ($category_1['children'] as $category_2) { ?>
        <?php if ($category_2['category_id'] == $filter_category_id) { ?>
        <option value="<?php echo $category_2['category_id']; ?>" selected="selected">      <?php echo $category_2['name']; ?></option>
        <?php } else { ?>
        <option value="<?php echo $category_2['category_id']; ?>">      <?php echo $category_2['name']; ?></option>
        <?php } ?>
        <?php foreach ($category_2['children'] as $category_3) { ?>
        <?php if ($category_3['category_id'] == $filter_category_id) { ?>
        <option value="<?php echo $category_3['category_id']; ?>" selected="selected">            <?php echo $category_3['name']; ?></option>
        <?php } else { ?>
        <option value="<?php echo $category_3['category_id']; ?>">            <?php echo $category_3['name']; ?></option>
        <?php } ?>
        <?php } ?>
        <?php } ?>
        <?php } ?>
      </select>
      <?php if ($filter_sub_category) { ?>
      <input type="checkbox" name="filter_sub_category" value="1" id="sub_category" checked="checked" />
      <?php } else { ?>
      <input type="checkbox" name="filter_sub_category" value="1" id="sub_category" />
      <?php } ?>
      <label for="sub_category"><?php echo $text_sub_category; ?></label>
    </p>
    <?php if ($filter_description) { ?>
    <input type="checkbox" name="filter_description" value="1" id="description" checked="checked" />
    <?php } else { ?>
    <input type="checkbox" name="filter_description" value="1" id="description" />
    <?php } ?>
    <label for="description"><?php echo $entry_description; ?></label>
  </div>
  <div class="buttons">
    <div class="right"><input type="button" value="<?php echo $button_search; ?>" id="button-search" class="button" /></div>
  </div>
  <h2><?php echo $text_search; ?></h2>
  <?php if ($products) { ?>
  <div class="product-filter">
    <div class="display"><b><?php echo $text_display; ?></b> <?php echo $text_list; ?> <b>/</b> <a onclick="display('grid');"><?php echo $text_grid; ?></a></div>
    <div class="limit"><?php echo $text_limit; ?>
      <select onchange="location = this.value;">
        <?php foreach ($limits as $limits) { ?>
        <?php if ($limits['value'] == $limit) { ?>
        <option value="<?php echo $limits['href']; ?>" selected="selected"><?php echo $limits['text']; ?></option>
        <?php } else { ?>
        <option value="<?php echo $limits['href']; ?>"><?php echo $limits['text']; ?></option>
        <?php } ?>
        <?php } ?>
      </select>
    </div>
    <div class="sort"><?php echo $text_sort; ?>
      <select onchange="location = this.value;">
        <?php foreach ($sorts as $sorts) { ?>
        <?php if ($sorts['value'] == $sort . '-' . $order) { ?>
        <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
        <?php } else { ?>
        <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>
        <?php } ?>
        <?php } ?>
      </select>
    </div>
  </div>
  <div class="product-compare"><a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a></div>
  <div class="product-list">
    <?php foreach ($products as $product) { ?>
    <div>
      <?php if ($product['thumb']) { ?>
      <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
      <?php } ?>
      <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
      <div class="description"><?php echo $product['description']; ?></div>
      <?php if ($product['price']) { ?>
      <div class="price">
        <?php if (!$product['special']) { ?>
        <?php echo $product['price']; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
        <?php } ?>
        <?php if ($product['tax']) { ?>
        <br />
        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
        <?php } ?>
      </div>
      <?php } ?>
      <?php if ($product['rating']) { ?>
      <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
      <?php } ?>
      <div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
      <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div>
      <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div>
    </div>
    <?php } ?>
  </div>
  <div class="pagination"><?php echo $pagination; ?></div>
  <?php } else { ?>
  <div class="content"><?php echo $text_empty; ?></div>
  <?php }?>
  <?php echo $content_bottom; ?></div>
<script type="text/javascript"><!--
$('#content input[name=\'filter_name\']').keydown(function(e) {
	if (e.keyCode == 13) {
		$('#button-search').trigger('click');
	}
});

$('#button-search').bind('click', function() {
	url = 'index.php?route=product/search';
	
	var filter_name = $('#content input[name=\'filter_name\']').attr('value');
	
	if (filter_name) {
		url += '&filter_name=' + encodeURIComponent(filter_name);
	}

	var filter_category_id = $('#content select[name=\'filter_category_id\']').attr('value');
	
	if (filter_category_id > 0) {
		url += '&filter_category_id=' + encodeURIComponent(filter_category_id);
	}
	
	var filter_sub_category = $('#content input[name=\'filter_sub_category\']:checked').attr('value');
	
	if (filter_sub_category) {
		url += '&filter_sub_category=true';
	}
		
	var filter_description = $('#content input[name=\'filter_description\']:checked').attr('value');
	
	if (filter_description) {
		url += '&filter_description=true';
	}

	location = url;
});

function display(view) {
	if (view == 'list') {
		$('.product-grid').attr('class', 'product-list');
		
		$('.product-list > div').each(function(index, element) {
			html  = '<div class="right">';
			html += '  <div class="cart">' + $(element).find('.cart').html() + '</div>';
			html += '  <div class="wishlist">' + $(element).find('.wishlist').html() + '</div>';
			html += '  <div class="compare">' + $(element).find('.compare').html() + '</div>';
			html += '</div>';			
			
			html += '<div class="left">';
			
			var image = $(element).find('.image').html();
			
			if (image != null) { 
				html += '<div class="image">' + image + '</div>';
			}
			
			var price = $(element).find('.price').html();
			
			if (price != null) {
				html += '<div class="price">' + price  + '</div>';
			}
						
			html += '  <div class="name">' + $(element).find('.name').html() + '</div>';
			html += '  <div class="description">' + $(element).find('.description').html() + '</div>';
			
			var rating = $(element).find('.rating').html();
			
			if (rating != null) {
				html += '<div class="rating">' + rating + '</div>';
			}
				
			html += '</div>';

						
			$(element).html(html);
		});		
		
		$('.display').html('<b><?php echo $text_display; ?></b> <?php echo $text_list; ?> <b>/</b> <a onclick="display(\'grid\');"><?php echo $text_grid; ?></a>');
		
		$.cookie('display', 'list'); 
	} else {
		$('.product-list').attr('class', 'product-grid');
		
		$('.product-grid > div').each(function(index, element) {
			html = '';
			
			var image = $(element).find('.image').html();
			
			if (image != null) {
				html += '<div class="image">' + image + '</div>';
			}
			
			html += '<div class="name">' + $(element).find('.name').html() + '</div>';
			html += '<div class="description">' + $(element).find('.description').html() + '</div>';
			
			var price = $(element).find('.price').html();
			
			if (price != null) {
				html += '<div class="price">' + price  + '</div>';
			}	
					
			var rating = $(element).find('.rating').html();
			
			if (rating != null) {
				html += '<div class="rating">' + rating + '</div>';
			}
						
			html += '<div class="cart">' + $(element).find('.cart').html() + '</div>';
			html += '<div class="wishlist">' + $(element).find('.wishlist').html() + '</div>';
			html += '<div class="compare">' + $(element).find('.compare').html() + '</div>';
			
			$(element).html(html);
		});	
					
		$('.display').html('<b><?php echo $text_display; ?></b> <a onclick="display(\'list\');"><?php echo $text_list; ?></a> <b>/</b> <?php echo $text_grid; ?>');
		
		$.cookie('display', 'grid');
	}
}

view = $.cookie('display');

if (view) {
	display(view);
} else {
	display('list');
}
//--></script> 
<?php echo $footer; ?>

Поделиться сообщением


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

видимо шаблон для одной версии, а поставили совсем на другую. скачать двиг нужной версии и заменить оттуда блок поиска search.tpl, header.tpl и скрипты в  common.js

Поделиться сообщением


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

видимо шаблон для одной версии, а поставили совсем на другую. скачать двиг нужной версии и заменить оттуда блок поиска search.tpl, header.tpl и скрипты в  common.js

Где ж его взять, то?

 

Заплачу, тому, кто поможет исправить... :ugeek:

Поделиться сообщением


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

Где ж его взять, то?

https://code.google.com/p/myopencart/downloads/list

или

http://www.opencart.com/index.php?route=download/download

смотря что ставили и что предпочитаете

Поделиться сообщением


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

https://code.google.com/p/myopencart/downloads/list

или

http://www.opencart.com/index.php?route=download/download

смотря что ставили и что предпочитаете

Поменял файл search.tpl, ошибка пропала, поиск только не работает если искать из поля на главной

Поделиться сообщением


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

Поменял файл search.tpl, ошибка пропала, поиск только не работает если искать из поля на главной

 

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

 

заменить блок поиска header.tpl и скрипты в common.js

только не весь файл конечно

Поделиться сообщением


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

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

 

только не весь файл конечно

а какую часть в них менять?

Поделиться сообщением


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

а какую часть в них менять?

в header.tpl содержимое <div id="search">, хотя здесь многое зависит от вашего шаблона и движка и данный див может иметь другой класс или id. не дали ссылку на сайт, потому точно не скажу

  • +1 1

Поделиться сообщением


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

в header.tpl содержимое <div id="search">, хотя здесь многое зависит от вашего шаблона и движка и данный див может иметь другой класс или id. не дали ссылку на сайт, потому точно не скажу

iflik.zz.mu

Поделиться сообщением


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

в файле



/catalog/view/javascript/common.js

заменить







	/* Search */
	$('.button-search').bind('click', function() {
		url = $('base').attr('href') + 'index.php?route=product/search';
				 
		var search = $('input[name=\'search\']').attr('value');
		
		if (search) {
			url += '&search=' + encodeURIComponent(search);
		}
		
		location = url;
	});
	
	$('#header input[name=\'search\']').bind('keydown', function(e) {
		if (e.keyCode == 13) {
			url = $('base').attr('href') + 'index.php?route=product/search';
			 
			var search = $('input[name=\'search\']').attr('value');
			
			if (search) {
				url += '&search=' + encodeURIComponent(search);
			}
			
			location = url;
		}
	});

на







	/* Search */
	$('.button-search').bind('click', function() {
		url = $('base').attr('href') + 'index.php?route=product/search';
				 
		var filter_name = $('input[name=\'filter_name\']').attr('value');
		
		if (filter_name) {
			url += '&filter_name=' + encodeURIComponent(filter_name);
		}
		
		location = url;
	});
	
	$('#header input[name=\'filter_name\']').bind('keydown', function(e) {
		if (e.keyCode == 13) {
			url = $('base').attr('href') + 'index.php?route=product/search';
			 
			var filter_name = $('input[name=\'filter_name\']').attr('value');
			
			if (filter_name) {
				url += '&filter_name=' + encodeURIComponent(filter_name);
			}
			
			location = url;
		}
	});

и делайте бэкапы перед такими манипуляциями

Поделиться сообщением


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

Сделал все, как Вы написали.

Теперь, после смены части кода в header.tpl в строке поиска отображается следующий текст:

<b>Notice</b>: Undefined variable: search in <b>/home/u546765315/public_html/catalog/view/theme/shadow/template/common/header.tpl</b> on line <b>57</b>

Поиск не работает Изменено пользователем afwollis
overquote deleted...

Поделиться сообщением


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

Сделал все, как Вы написали.

Теперь, после смены части кода в header.tpl в строке поиска отображается следующий текст:

 

Поиск не работает

В строке 57 вот этот код:

div id="search">
    <div class="button-search"></div>
    <input type="text" name="search" placeholder="<?php echo $text_search; ?>" value="<?php echo $search; ?>" />
  </div>

Поделиться сообщением


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

как удалось решить проблему? у меня тоже самое.. шаблон shadow 

 Undefined variable: filter_name inC:\xampp\htdocs\bronix\catalog\view\theme\shadow\template\common\header.tpl on line 57

Поделиться сообщением


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

в header.tpl содержимое <div id="search">, хотя здесь многое зависит от вашего шаблона и движка и данный див может иметь другой класс или id. не дали ссылку на сайт, потому точно не скажу

спасибо помогло!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ОШИБКА:

 

Notice: Undefined variable: filter_name in

 

РЕШЕНИЕ:

 

В наличии ocStore-1.5.5.1.2, TotalCommander и Notepad ++

 

1. Включаем TotalCommander и открываем дирректорию в которой находится файл "header.tpl"

 

- в первом окне файл header.tpl шаблона "default" (ВАШ_САЙТ\catalog\view\theme\default\template\common\header.tpl)


- во втором окне файл header.tpl шаблона "unibacr" (ВАШ_САЙТ\catalog\view\theme\unibacr\template\common\header.tpl)


- выделяем файл "header.tpl" в Левой колонке программы Totalcommander  и файл "header.tpl" в Правой колонке.


- далее идем в Меню - Файлы - Сравнить по содержимому ... Откроется окно "Сравнение содержимого файлов"


- смотрим в какой строке ошибка. У меня строка 66. Видим, что в новой версии ocStore в шаблоне уже больше строчек кода добавлено.


 


2. Открываем оба этих файла в Notepad ++

 

В файле "header.tpl" шаблона "default" копируем код с 77 строки по 87 строку перед <div class="links">

 

 <div id="search">

<div class="button-search"></div>

<input type="text" name="search" placeholder="<?php echo $text_search; ?>" value="<?php echo $search; ?>" />

 </div>

 <div id="welcome">

<?php if (!$logged) { ?>

<?php echo $text_welcome; ?>

<?php } else { ?>

<?php echo $text_logged; ?>

<?php } ?>

 </div>

  

        и вставляем с заменой в файл header.tpl шаблона "unibacr" с 66 строки по 73 строку перед <div class="links">

 

Обновляем страницу. Все ошибка исчезла. Радуемся!

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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