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

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


kuyann

Recommended Posts

При использовании функции поиск на сайте 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

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

Поменял файл 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>

Надіслати
Поділитися на інших сайтах


  • 2 months later...

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

спасибо помогло!
Надіслати
Поділитися на інших сайтах


  • 1 year later...
ОШИБКА:

 

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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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