Перейти к содержанию
Форум поддержки пользователей VamShop

Фильтры по атрибутам товара


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

Добрый день

Работает ли модуль фильтров по аттрибутам?
Т.е. с одной стороны к товару необходимо прицепить атрибуты с размерами и ценами, с другой стороны необходим подбор с помощью фильтра по этим атрибутам.
В настоящее время приходится выводить размер в название товара + отдельное поле и фильтр делат по этому полю. Но в результате кол-во товаров вырастает в 20 раз из-за количества размеров товара.

Возможно ли это сделать стандартными настройками привязать фильтры к атрибутам? если нет, то делал ли кто-нибудь подобную доработку?

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

Здравствуйте!

 

Нет.

 

Фильтры отдельные есть, они не связаны с атрибутами.

 

Вот описание - http://vamshop.ru/manual/ch06.html

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

1. Можете на словах объяснить как в фильтрах работает "используемое поле - Комбинация". т.к. при попытке указать combi - всегда падает ошибка. В описании есть только небольшой фрагмент "Комбинация - Это специальное поле, устанавливаемое в настройках модуля". Но в админке в разделе Настройки- Спецификации товаров- Фильтры товаров не нахожу никаких настроек.

2. Может кто-нибудь делал доработку с фильтрацией по атрибутам и готов за отдельную плату поделиться этим?

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

Что за комбинация?!

 

Обычно ошибки бывают из-за несоответствия типа фильтра и класса фильтра.

 

Вот посмотрите таблицу - http://vamshop.ru/manual/ch06s07.html

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

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

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

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

 

А в чем на данный момент некорректность работы? Готовы ли поделиться доработкой, какова стоимость?

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

А в чем на данный момент некорректность работы? Готовы ли поделиться доработкой, какова стоимость?

1. Некорректность для интернет магазина, торгующего невиртуальным товаром заключается в следующем: 

 а. Общее количество товара никак не увязано с количеством товара по атрибутам. При этом общее количество может быть больше или равно 0, тогда как атрибуты свободно уходят в отрицательные числа. Приходится каждый день руками снимать артибуты, ушедшие в ноль.

 б. При достижении атрибутом 0 было бы неплохо, чтобы галка с соответствующей спецификации снималась. Ан нет, пока руками не снимешь - фильтр выдает товар с нулевым атрибутом. Для магазина с 1000+ номенклатурных единиц -это проблема.

 в. При удалении заказа общее количество единиц восстанавливается, количество единиц в атрибуте не восстанавливается. 

 г. При корректировке заказа через админку общее количество корректируется, количество в атрибутах не корректируется.

2. Готов поделиться доработкой, если она будет применима к дефолтному магазину. Т.к. у меня дорабатывалась версия 1.70 и она уже до этого у меня не была дефолтной. Хотелось бы чтобы мои наработки включили в очередной релиз. Тогда и я бы смог обновиться до актуальной версии магазина.

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

Всё зависит от кода, если он более-менее качественный, универсальный и полезный большинству пользователей, то конечно можно будет включить этот код по умолчанию в VamShop.

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

Всё зависит от кода, если он более-менее качественный, универсальный и полезный большинству пользователей, то конечно можно будет включить этот код по умолчанию в VamShop.

С удовольствием предоставлю на Ваше рассмотрение, скажите куда залить?

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

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

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

Но повторюсь, я не могу обещать, что на 100% код будет добавлен по умолчанию в VamShop, только при соблюдении условий, о которых я выше писал.

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

 а. Общее количество товара никак не увязано с количеством товара по атрибутам. При этом общее количество может быть больше или равно 0, тогда как атрибуты свободно уходят в отрицательные числа. Приходится каждый день руками снимать артибуты, ушедшие в ноль.

 б. При достижении атрибутом 0 было бы неплохо, чтобы галка с соответствующей спецификации снималась. Ан нет, пока руками не снимешь - фильтр выдает товар с нулевым атрибутом. Для магазина с 1000+ номенклатурных единиц -это проблема.

 в. При удалении заказа общее количество единиц восстанавливается, количество единиц в атрибуте не восстанавливается. 

 г. При корректировке заказа через админку общее количество корректируется, количество в атрибутах не корректируется.

Да, это очень нужная вещь!

Из-за отсутствия контроля атрибутов приходится на каждый из них формировать отдельный товар. :(

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

Если у атрибутов есть связанные с ними поля в базе, то задача сводится к выводу нужного поля в выпадающий список "Использовать существующее в базе данных поле:"- далее создать спецификацию по этому полю труда не составит?

Вопрос как найти именно поле нужного атрибута в базе и как его вывести в выпадающий список при создании спецификации?
 

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

Нет, атрибуты с фильтрами (спецификациями) никак не связаны.

 

Можно отдельные поля товара связывать с фильтрами, но не с атрибутами.

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

Добрый день,

поддерживаю, .очень нужная доработка!

Еще один момент хотел бы добавить - это изменение цен. Если в магазине много товаров, то отслеживать изменение цен, особенно с атрибутами крайне не удобно. У меня для этого написано отдельное приложение в котором устанавливаются цены для товаров в зависимости от изменений цен поставщиков (от поставщиков загружаются электронные прайсы). С магазином обмен данными производится через штатный обмен xls файлами (со включенной поддержкой атрибутов). Но механизм загрузки из xls сделан так, что при любом изменении атрибута (цены, например) атрибут товара удаляется и создается новый, что очень неудобно для синхронизации сайта и внешнего приложения. Вот эту проблему и хотелось бы поправить. То есть, чтобы при загрузке из xls товара с атрибутами при изменении не ключевого параметра атрибута, например цены, префикса цены, атрибут не удалялся и создавался заново, а только обновлялся.   

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

Добрый день,

поддерживаю, .очень нужная доработка!

Еще один момент хотел бы добавить - это изменение цен. Если в магазине много товаров, то отслеживать изменение цен, особенно с атрибутами крайне не удобно. У меня для этого написано отдельное приложение в котором устанавливаются цены для товаров в зависимости от изменений цен поставщиков (от поставщиков загружаются электронные прайсы). С магазином обмен данными производится через штатный обмен xls файлами (со включенной поддержкой атрибутов). Но механизм загрузки из xls сделан так, что при любом изменении атрибута (цены, например) атрибут товара удаляется и создается новый, что очень неудобно для синхронизации сайта и внешнего приложения. Вот эту проблему и хотелось бы поправить. То есть, чтобы при загрузке из xls товара с атрибутами при изменении не ключевого параметра атрибута, например цены, префикса цены, атрибут не удалялся и создавался заново, а только обновлялся.   

Дмитрий, так это xml обработчик надо.  

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

Дмитрий, так это xml обработчик надо.  

Добрый день.

Я не совсем корректно написал в верхнем посте. выгрузка с сайта во внешнее ПО идет не через xls выгрузку, а через модифицированную xml выгрузку для ЯМ (на базе файла market.php, добавлена выгрузка атрибутов товара), а загрузка изменений цен товара и атрибутов идет через импорт xls (кажется easypopulate.php, его не дорабатывал), где и происходит удаление атрибута с измененной ценой и создание вместо него нового. Вот это и неплохо было бы доработать, чтобы атрибут не удалялся, а обновлялся при изменении его цены и/или префикса цены. 

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

Добрый день.

Я не совсем корректно написал в верхнем посте. выгрузка с сайта во внешнее ПО идет не через xls выгрузку, а через модифицированную xml выгрузку для ЯМ (на базе файла market.php, добавлена выгрузка атрибутов товара), а загрузка изменений цен товара и атрибутов идет через импорт xls (кажется easypopulate.php, его не дорабатывал), где и происходит удаление атрибута с измененной ценой и создание вместо него нового. Вот это и неплохо было бы доработать, чтобы атрибут не удалялся, а обновлялся при изменении его цены и/или префикса цены. 

так получается Ваш модуль присваивает новые id атрибутам, а не пробегается по имеющимся. 

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

так получается Ваш модуль присваивает новые id атрибутам, а не пробегается по имеющимся. 

Добрый день. Нет. Не присваивает новый Id, оставляет прежним. Такая логика работы с атрибутами реализована в модуле easypopulate.php. Я его начал копать, но переделать не решился. Поэтому и выдвинул инициативу по его доработке.

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

через модифицированную xml выгрузку для ЯМ (на базе файла market.php, добавлена выгрузка атрибутов товара)

 

Поделитесь кодом выгрузки атрибутов?

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

Поделитесь кодом выгрузки атрибутов?

Добрый день.

Перед

	vam_yml_out('</offer>' . "\n");

вставляем код:

	// выводим атрибуты товара
	/*
	<attributes>
		<attribute Id="123">
			<options_name_id>Name</options_name_id>
			<options_name>Name</options_name>			
			<options_values_name>Value</options_values_name>
			<price_prefix>prefix</price_prefix>
			<options_values_price>prefix</options_values_price>
			<options_values_id>options_values_id</options_values_id>
			<options_values_weight>options_values_weight</options_values_weight>
			<weight_prefix>weight_prefix</weight_prefix>
			<sortorder>sortorder</sortorder>
			
		</attribute>	
	</attributes>
	*/

	$attr_sql = "SELECT   pa.products_attributes_id
						, pa.options_values_price
						, pa.options_values_weight
						, pa.weight_prefix
						, pa.sortorder
						, pa.price_prefix
						, po.products_options_id
						, po.products_options_name
						, pov.products_options_values_name
						, pov.products_options_values_id
				FROM products_attributes pa 
					INNER JOIN products_options po ON pa.options_id = po.products_options_id 
					INNER JOIN products_options_values pov ON pa.options_values_id = pov.products_options_values_id
				WHERE products_id =" . $products['products_id'] . " AND po.language_id = " . (int)$_SESSION['languages_id'] . " AND pov.language_id = " . (int)$_SESSION['languages_id'];

	//var_dump($attr_sql);	
				
	$attr_query = vam_db_query($attr_sql);
	
	vam_yml_out('  <attributes>');	
	while ($attr = vam_db_fetch_array($attr_query)) {				
		vam_yml_out('<attribute id="' . $attr['products_attributes_id'] . '" >');

		vam_yml_out('  <options_name_id>' . $attr['products_options_id'] . '</options_name_id>');
		
		vam_yml_out('  <options_name>' . $attr['products_options_name'] . '</options_name>');
			
		vam_yml_out('  <options_values_name>' . $attr['products_options_values_name'] . '</options_values_name>');

		vam_yml_out('  <price_prefix>' . $attr['price_prefix'] . '</price_prefix>');

		vam_yml_out('  <options_values_price>' . $attr['options_values_price'] . '</options_values_price>');		

		vam_yml_out('  <options_values_id>' . $attr['products_options_values_id'] . '</options_values_id>');		

		vam_yml_out('  <options_values_weight>' . $attr['options_values_weight'] . '</options_values_weight>');		
	
		vam_yml_out('  <weight_prefix>' . $attr['weight_prefix'] . '</weight_prefix>');		

		vam_yml_out('  <sortorder>' . $attr['sortorder'] . '</sortorder>');		

		vam_yml_out('  </attribute>');
	}
	vam_yml_out('  </attributes>');

Модифицированный файл сохранил под новым именем.

Ссылка на сообщение
Поделиться на другие сайты
Модифицированный файл сохранил под новым именем.

 

Спасибо большое )

 

А можно ли этот код можно связать с требованиеми маркета к передаче в yml размеров одежды? - http://help.yandex.ru/partnermarket/guides/clothes.xml#h4 

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

Спасибо большое )

 

А можно ли этот код можно связать с требованиеми маркета к передаче в yml размеров одежды? - http://help.yandex.ru/partnermarket/guides/clothes.xml#h4 

 

 

Возможно, отбирайте в коде нужные атрибуты (размер, цвет и т.п.) переделайте названия и дерево атрибутов в соответствии с требованиями яндекса. 

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

Возможно, отбирайте в коде нужные атрибуты (размер, цвет и т.п.) переделайте названия и дерево атрибутов в соответствии с требованиями яндекса. 

 

Отлично- огромное спасибо )

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