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

snastik

Recommended Posts

Добрый день. Прочитала всю тему, были проблемы как у меня Undefined variable: $sql_where_manufacteurs; $sql_where_attributes; $sql_where_options; $sql_where_prices; $sql_where_parameters; Может известно как решились эти проблемы, а то спросить спросили, а как решили не написали)? Стоит Вкумод манагер, логах все чисто, кэши чищены.

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


Установил модуль как в описании,

Версия 1.5.5.1.1

Вроде работает, но есть одна бяка.

При попытке выбрать в ФИЛЬТР ТОВАРОВ->ТИП ФИЛЬТРА->ПАРАМЕТРЫ (точнее любой из созданных параметров) появляется белый экран.

В system logs и vqmod logs все чисто.

Куда копать, рыть, ковырять!?

 

Оно конечно если бы, но однако все же, чуть чего коснись, вот тебе и пожалуйста!

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


Про ошибку

 

Warning: mysql_query() [function.mysql-query]: Access denied for user '...'@'localhost' (using password: NO) in /admin/model/catalog/coolfilter.php on line 219 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in/admin/model/catalog/coolfilter.php on line 219 Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given /admin/model/catalog/coolfilter.php on line 219 Warning: Cannot modify header information - headers already sent by (output started at admin/index.php:85) in vqmod/vqcache/vq2-system_engine_controller.php on line 28 Warning: Cannot modify header information - headers already sent by (output started at/admin/index.php:85) in /vqmod/vqcache/vq2-system_engine_controller.php on line 29

 

Ищем 219 строку в файле /admin/model/catalog/coolfilter.php

Меняем всю функцию на:

public function showTable($table) {
	$query = $this->db->query("SHOW TABLES LIKE '" . DB_PREFIX . $table . "'");
	if ($query->num_rows) {
      return TRUE;
    } else {
      return FALSE;
	  }
	}
Похоже, если при установке выбрать MySQLi такое будет всегда.

Автору также следует добавить в инструкцию по установке что у фильтра ДОЛЖЕН быть порядок сортировки, иначе он не отображается.

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


Есть кто использует фильтр в двух местах один сбоку, а другой по середине (картинка).

После этого у меня перестает работать боковой фильтр, а если поставить галочку на центральном. То появляются отмеченные элементы в 4 местах (все двоится!).

Вот я добавил 2 разных меню поиска.

attachicon.gif1.png

И теперь нажал на кнопку сортировки в центральном, так как в боковом ничего не работает.

attachicon.gif2.png

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


Добрый день! 

 

Установил модуль вроде бы как по инструкциям автора...

 

Результат - появилась шапка ФИЛЬТР ТОВАРОВ и все. Сами фильтры не отображаются.

 

Ошибок в логах VQmod  связанных с модулем нет, кеш VQmod пробовал чистить - без результатно. Права на модуль дал.

 

 

Куда еще посмотреть?

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


заметил проблемы по модулю CoolFilter

фильтр выводится только в одной категории, которая расположена первой, при открытии других категорий, фильтр исчезает.

Что нужно подправить?

 

САМ РАЗОБРАЛСЯ. ВОПРОС СНЯТ

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


Добрый вечер. Если перейти на вторую страницу в категории и выставить нужные значения в фильтре, выдается сообщение "В этой категории нет товаров", как решить проблему? Спасибо.

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


Подскажите может кто столкнулся, Установил все ок работает когда выставляешь чекбокс или бегунок но когда выставляешь стиль фильтра изображение или список при клике ничего не работает как исправить????? Интересно это модуль или руки кривые.

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


Добрый день начал пользоваться колфильтром отличный фильтр но нужны небольшие доработки например не работает когда выводишь изображения и списком а когда чекбоксом все ок работает лучше пока фильтра не нашел есть на форуме за 1300 но в них недостатков тоже много.

Если бы вы его до ума довели и продавали по 300 руб много кто купил бы я бы приобрел!

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


может кому-то поможет:

 

у меня некоторые свойства товаров были с символами * и - Фильтр не срабатывал. обратил внимание на адресную строку, подумал, может из-за них? Переименовал свойства в 1ске, убрал звездочки и тире, снова выгружил товары - все заработало.

 

но, к сожалению, так и не понял, почему почему при отключении "Количество товаров" фильтры, кроме бегунка, не отображаются. Но пока номенклатуры не много, торомозов нет, решил не заморачиваться пока.

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


Прочитал всю тему и ответа не нашел. Очень хотелось сделать нормальную структуру фильтров по группам, а то как уже люди говорили что из-за большого количества фильтров и с одинаковыми названиями для разных групп очень трудно и неудобно в них ориентироваться.

 

Я столкнулся с такой ситуацией конкретно на примере добавления нового фильтра товаров и присвоения ему типа фильтра, т.е. найти нужный мне атрибут в гигантском выпадающем списке типов фильтров (атрибутов), да еще когда названия могут быть одинаковыми, но относиться к разным категориям товаров. Например, атрибут "Формат" или "Тип" у меня может встречаться не один раз в разных категориях товаров и группах фильтров. И при поиске его в выпадающем списке просто не понятно к какой категории или группе он относится.

 

Т.к. автор модуля не хочет это реализовывать, а мне очень хочется, то я попробовал сделать это сам.

 

На моем магазине все вроде работает, но на всякий случай перед внесением изменений лучше сделать бекап затрагиваемых файлов.

 

Итак.

 

1. В файле site.ru/admin/model/catalog/coolfilter.php

 

   Найти функцию:

public function getAttributesForTypes()

   Заменить всю функцию на:

  public function getAttributesForTypes()
  {
	
	$attributes_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "attribute` co LEFT JOIN `" . DB_PREFIX . "attribute_description` cod ON (co.attribute_id = cod.attribute_id) WHERE cod.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY sort_order");
	
	$attributes = array();

    foreach ($attributes_query->rows as $attribute) {
		$attributes['attribute_' . $attribute['attribute_id']] = array('cat_id' => $attribute['attribute_group_id'], 'value' => $attribute['name']);
	}
	return $attributes;
  }

   Найти:

public function getParameteresForTypes()

   Добавить перед:

  public function getAttributesGroup()
  {
	
	$attributes_group_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "attribute_group` ag LEFT JOIN `" . DB_PREFIX . "attribute_group_description` agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE agd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY sort_order");

	$groupes = array();
    foreach ($attributes_group_query->rows as $group) {
		$groupes[$group['attribute_group_id']] = array('value' => $group['name']);
	}
	
	return $groupes;
  }

2. В файле site.ru/admin/controller/catalog/coolfilter.php

 

   Найти:

$typesAttributes['attributes'] = $this->model_catalog_coolfilter->getAttributesForTypes();

   Добавить после:

		$typesAttributes['attributes_group'] = $this->model_catalog_coolfilter->getAttributesGroup();

3. В файле site.ru/admin/view/template/catalog/coolfilter_form.tpl

 

  Найти:

					<?php foreach ($type_groups as $group) { ?>
						<optgroup label="<?php echo $$group['text']; ?>"> 
							<?php foreach ($types[$group['value']] as $typeKey => $type) { ?>
								<option value="<?php echo $typeKey; ?>" <?php if($option_types == $typeKey){ ?>selected="selected"<?php } ?>><?php echo $type['value'] ?></option>
							<?php } ?>
						</optgroup>
					<?php } ?>

   Заменить на:

					<?php foreach ($type_groups as $group) { ?>
						<optgroup label="<?php echo $$group['text']; ?>"> 
	                        <?php if ($group['value'] != 'attributes') { ?>
								<?php foreach ($types[$group['value']] as $typeKey => $type) { ?>
									<option value="<?php echo $typeKey; ?>" <?php if($option_types == $typeKey){ ?>selected="selected"<?php } ?>><?php echo $type['value'] ?></option>
                             	<?php } ?>
							<?php } else {?>
								<?php foreach ($types['attributes_group'] as $group_id => $group_name) { ?>
	                            	<optgroup label="<?php echo $group_name['value']; ?>" style="color: #F00;">
                                    <?php foreach ($types[$group['value']] as $typeKey => $type) { ?>
                                    	<?php if ($type['cat_id'] == $group_id) { ?>
                                            <option value="<?php echo $typeKey; ?>" <?php if($option_types == $typeKey){ ?>selected="selected"<?php } ?>><?php echo $type['value'] ?></option>
                                        <?php } ?>
                                     <?php } ?>
 	                           		</optgroup>
                            	<?php } ?>
							<?php } ?>
						</optgroup>
					<?php } ?>

Все, теперь у вас есть нормальная структура атрибутов в выпадающем списке добавления нового фильтра. Пример работы показан на скриншоте. Если у автора есть желание, то можешь протестировать данные изменения и добавить в сборку.

post-689554-0-48080500-1417621727_thumb.jpg

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


Про ошибку

 

Warning: mysql_query() [function.mysql-query]: Access denied for user '...'@'localhost' (using password: NO) in /admin/model/catalog/coolfilter.php on line 219 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in/admin/model/catalog/coolfilter.php on line 219 Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given /admin/model/catalog/coolfilter.php on line 219 Warning: Cannot modify header information - headers already sent by (output started at admin/index.php:85) in vqmod/vqcache/vq2-system_engine_controller.php on line 28 Warning: Cannot modify header information - headers already sent by (output started at/admin/index.php:85) in /vqmod/vqcache/vq2-system_engine_controller.php on line 29

 

Ищем 219 строку в файле /admin/model/catalog/coolfilter.php

Меняем всю функцию на:

public function showTable($table) {
	$query = $this->db->query("SHOW TABLES LIKE '" . DB_PREFIX . $table . "'");
	if ($query->num_rows) {
      return TRUE;
    } else {
      return FALSE;
	  }
	}
Похоже, если при установке выбрать MySQLi такое будет всегда.

Автору также следует добавить в инструкцию по установке что у фильтра ДОЛЖЕН быть порядок сортировки, иначе он не отображается.

 

 

Ошибка то пропала, но все равно, если отключить опцию "количество товаров", то фильтр отображает только выбор по цене..

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


Еще обнаружил ошибку:

создал опцию "Цвет" - тип изображение (есть 3 шт, желтый, синий, красный)

В фильтре выбираю желтый: в блоке "Выбранные параметры" появляется желтая иконка, добавляю красный - а в блоке выбранных вместо красной иконки отображается снова желтая. Если выберу еще и синюю - все равно добавляется желтая.

 

 

Если поменять тип фильтра на "Чекбоксы" то все правильно работает.

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


Всем снова привет. Сделал еще одно дополнение модуля - выбор фильтров по группа (где выводиться хаотичный и гигантский список всех фильтров).

 

Для настройки подобной вещи необходимо:

 

1. В файле site.ru/admin/language/russian/catalog/coolfilter.php

 

   Найти:

$_['column_action']          = 'Действие';

   Добавить после:

$_['all_group']  			 = 'Все группы фильтров';

2. В файле site.ru/admin/view/template/catalog/coolfilter_list.tpl

 

  Найти:

   <form action="<?php echo $delete; ?>" method="post" enctype="multipart/form-data" id="form">

   Добавить перед:

	<form action="" method="post" enctype="multipart/form-data" id="form">
		<table class="list">
			<thead>
			<tr>
				<td align="right"><?php echo $column_coolfilter_groups; ?></td>
				<td>
					<select id="by_group_id" onchange = "window.location=document.forms[0].by_group_id.options[document.forms[0].by_group_id.selectedIndex].value">
						<?php foreach ($fil_group as $name => $id) { ?>
		                	<option value="<?php echo $id ?>" <?php if (isset($_GET['coolfilter_group_id']) && $_GET['coolfilter_group_id'] == substr($id, strrpos($id, '=' )+1)){ ?>selected<?php } ?>><?php echo $name ?></option>
						<?php } ?>
        	        </select>
				</td>
			</tr>
			</thead>
		</table>
	</form>

3. В файле site.ru/admin/controller/catalog/coolfilter.php

 

  Найти:

		$results = $this->model_catalog_coolfilter->getOptions();

   Заменить на:

		$result_group_sort = $this->model_catalog_coolfilter->getcoolfilterGroups();

		foreach ($result_group_sort as $key => $val) {
			if ($key == 0) {
				$this->data['fil_group'][$val] = HTTPS_SERVER . 'index.php?route=catalog/coolfilter&token=' . $this->session->data['token'];
			}
			else {
				$this->data['fil_group'][$val] = HTTPS_SERVER . 'index.php?route=catalog/coolfilter&token=' . $this->session->data['token'] . '&coolfilter_group_id=' . $key;
			}
		}

		if (isset($this->request->get['coolfilter_group_id'])) {
			$results = $this->model_catalog_coolfilter->getOptions($this->request->get['coolfilter_group_id']);
		}
		else {
			$results = $this->model_catalog_coolfilter->getOptions();
		}

4. В файле site.ru/admin/model/catalog/coolfilter.php

 

  Найти:

  public function getOptioncoolfilterGroups($option_id) {

   Добавить после всей функции:

  public function getcoolfilterGroups() {
	$res = array();
	$res[0] = $this->language->get('all_group');

	$coolfilter_group_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coolfilter_group` c LEFT JOIN `" . DB_PREFIX . "coolfilter_group_option_to_coolfilter_group` cotc ON (c.coolfilter_group_id = cotc.coolfilter_group_id) LEFT JOIN `" . DB_PREFIX . "coolfilter_group_description` cd ON (cd.coolfilter_group_id = cotc.coolfilter_group_id) ");

	foreach ($coolfilter_group_query->rows as $result) {
		$res[$result['coolfilter_group_id']] = $result['name'];
	}

   return $res;
  }

   Найти функцию:

  public function getOptions() {
  ...
  }

   Заменить всю функцию на:

  public function getOptions($data = '') {
    $option_data = array();
	
	if (!empty($data)) {
		$option_query_dop1 = "LEFT JOIN `" .DB_PREFIX. "coolfilter_group_option_to_coolfilter_group` cgotcg ON (co.option_id = cgotcg.option_id)";
		$option_query_dop2 =  "cgotcg.coolfilter_group_id = '" . (int)$data . "' AND";	
	}
	else {
		$option_query_dop1 = '';
		$option_query_dop2 = '';
	}

    $option_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "category_option` co LEFT JOIN `" . DB_PREFIX . "category_option_description` cod ON (co.option_id = cod.option_id) ". $option_query_dop1 ." WHERE ". $option_query_dop2 ." cod.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY sort_order");

    foreach ($option_query->rows as $option) {
	  
	  $coolfilter_group_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "coolfilter_group` c LEFT JOIN `" . DB_PREFIX . "coolfilter_group_option_to_coolfilter_group` cotc ON (c.coolfilter_group_id = cotc.coolfilter_group_id) LEFT JOIN `" . DB_PREFIX . "coolfilter_group_description` cd ON (cd.coolfilter_group_id = cotc.coolfilter_group_id) WHERE cotc.option_id = '" . (int)$option['option_id'] . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "'");
	  
	  
	  $option_type_style_query = $this->db->query("SELECT t1.type_index,t2.style_id FROM `" . DB_PREFIX . "type_option` as t1, `" . DB_PREFIX . "style_option` as t2 WHERE t1.option_id = t2.option_id AND t1.option_id = '" . (int)$option['option_id'] . "'");
	
	  $option_type_style = $option_type_style_query->row;
	
      $option_data[] = array(
        'option_id'     => $option['option_id'],
        'name'          => $option['name'],
		'style'			=> $option_type_style['style_id'],
		'type'			=> $option_type_style['type_index'],
		'coolfilter_group'  => $coolfilter_group_query->rows,
        'sort_order'    => $option['sort_order'],
        'status'        => $option['status']
      );
    }

    return $option_data;
  }

Все. Теперь когда вы зайдете в меню админки "Фильтры товаров", то увидите сверху менюшку для фильтрации групп. И опять предлагаю автору модуля еще раз протестировать мои наработки и внести в сборку...

 

Всем удачи.

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


В разных блоках отображается (правая колонка, фото скрин прилагается), как можно объединить? И фильтр работает только во втором блоке

 

И еще не происходит фильтрация, когда находишься на второй странице, либо другой отличной от первой, пишет ,что в данной категории нет товаров.

 

 

Подскажите где искать? И что подправить

post-684447-0-64459100-1418043999_thumb.jpg

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


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

 

В меню управления модулями в свойствах coolfilter для каждого фильтра ставите нужное вам расположение. Соответственно, если нужно, чтобы только справа, то и ставить всем фильтрам правая колонка.

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


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

 

В меню управления модулями в свойствах coolfilter для каждого фильтра ставите нужное вам расположение. Соответственно, если нужно, чтобы только справа, то и ставить всем фильтрам правая колонка.

в том то и дело, выставлена правая колонка для двух фильтров, Размер и Производитель, и отображает в правой колонке ,но в двух блоках, а надо в одном

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


Как я понял вас и ваш скрин, то у вас создано два отдельных фильтра "производитель" и "размер", поэтому их два. Вам надо объединить их в один, т.е. убрать, например, "размер" и добавить эти атрибуты в производитель, тогда у вас будет один блок фильтров...

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


Как я понял вас и ваш скрин, то у вас создано два отдельных фильтра "производитель" и "размер", поэтому их два. Вам надо объединить их в один, т.е. убрать, например, "размер" и добавить эти атрибуты в производитель, тогда у вас будет один блок фильтров...

Спасибо, с этим разобрался)

Вылезла еще одна проблема, фильтр работает только на первой странице, если переходить на вторую и дальше, при применении фильтра выдает сообщение ,что в этой категории нет товаров

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


Лично я с такой проблемой не сталкивался, поэтому особо ничего не могу сказать. Могу посоветовать только прочесть всю ветку, эту проблему уже обсуждали. Вроде как нужно обновить модуль до последней версии...

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


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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