allef 0 Опубликовано 18 февраля, 2019 Жалоба Share Опубликовано 18 февраля, 2019 По умолчанию товарам атрибуты не показываю в листинге товаров, чтобы не путать пользователя, потому что товары сгруппированы. http://kotri-shop.ru/category/shapki-sharfy.html Когда выбираю в фильтре какие то настройки, то группировка у товаров убирается. И их становится море одинаковых. Так вот хотелось бы либо оставить группировку как было, просто отбросить товары не имеющие таких характеристик. Либо как вариант в случае выбора фильтра отображать атрибуты всем этим товарам (тогда какое условие прописать в Микро шаблон subcategory-listing) Заранее спасибо Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 18 февраля, 2019 Жалоба Share Опубликовано 18 февраля, 2019 11 минут назад, allef сказал: По умолчанию товарам атрибуты не показываю в листинге товаров, чтобы не путать пользователя, потому что товары сгруппированы. http://kotri-shop.ru/category/shapki-sharfy.html Когда выбираю в фильтре какие то настройки, то группировка у товаров убирается. И их становится море одинаковых. Так вот хотелось бы либо оставить группировку как было, просто отбросить товары не имеющие таких характеристик. Либо как вариант в случае выбора фильтра отображать атрибуты всем этим товарам (тогда какое условие прописать в Микро шаблон subcategory-listing) Заранее спасибо По идее, группировка не убирается ведь по умолчанию. Может Вы какую-то правку внесли у себя в коде?! Вот например в faq был совет - Да и в демке - http://demo2.vamshop.ru/category/smart-watches.html Сгруппированный товар - 1 в списке. Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 18 февраля, 2019 Автор Жалоба Share Опубликовано 18 февраля, 2019 вот по ссылке http://kotri-shop.ru/category/shapki-sharfy.html в левом столбце выберите что то в фильтре, размер например и будет без группировки результат, пока не нажмешь сбросить фильтр я ничего не правила, так было изначально я только показ атрибутов у товаров убрала под названием у вас в примере по умным часам нет фильтра вообще...потому там не показательно. фильтр есть в ноутбуках, но там товары как я понимаю не сгруппированы Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 18 февраля, 2019 Автор Жалоба Share Опубликовано 18 февраля, 2019 Собственно задача в чем. Куда пишется информация что выбрано в фильтре. И как это проверить-я есть там инфа или нет в зависимости от этого я хочу прописать условие-показывать атрибуты товара в листинге товаров или нет Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 18 февраля, 2019 Автор Жалоба Share Опубликовано 18 февраля, 2019 И еще в левой колонке фильтр выпадающим списком, а хотелось бы чекбоксами Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 18 февраля, 2019 Жалоба Share Опубликовано 18 февраля, 2019 1 час назад, allef сказал: вот по ссылке http://kotri-shop.ru/category/shapki-sharfy.html в левом столбце выберите что то в фильтре, размер например и будет без группировки результат, пока не нажмешь сбросить фильтр я ничего не правила, так было изначально я только показ атрибутов у товаров убрала под названием у вас в примере по умным часам нет фильтра вообще...потому там не показательно. фильтр есть в ноутбуках, но там товары как я понимаю не сгруппированы Попробуйте в /app/Catalog/function.content_listing.php поменять (у меня этот код с 296 строки начинается): if(!empty($filter_list)) { $content_list_data_conditions = array_merge($content_list_data_conditions,array('Content.id' => $filtered_content)); } else { $content_list_data_conditions = array_merge($content_list_data_conditions,array('OR' => array( 'Content.id_group' => 0 ,'Content.id_group is null' ,'Content.is_group' => 1 ))); } на: if(!empty($filter_list)) { $content_list_data_conditions = array_merge($content_list_data_conditions,array('Content.id' => $filtered_content',Content.id_group' => 0 ,'Content.id_group is null' ,'Content.is_group' => 1)); } else { $content_list_data_conditions = array_merge($content_list_data_conditions,array('OR' => array( 'Content.id_group' => 0 ,'Content.id_group is null' ,'Content.is_group' => 1 ))); } Примерно так. т.е. условие добавить такое же как и для обычного вывода товара. 50 минут назад, allef сказал: И еще в левой колонке фильтр выпадающим списком, а хотелось бы чекбоксами Вы сами выбираете тип фильтра в админке, когда настраиваете спецификации/фильтры, можете чекбокс выбрать. или просто в Админке - Настройки - Шаблоны атрибутов. Скопировать шаблон бокса Фильтр из типа checkbox в шаблон бокса Фильтр типа list Если что, вывод может кэшироваться, так что после правок можон кэш сбрасывать на главной странице админки. Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 18 февраля, 2019 Автор Жалоба Share Опубликовано 18 февраля, 2019 if(!empty($filter_list)) { $content_list_data_conditions = array_merge($content_list_data_conditions,array('Content.id' => $filtered_content, 'Content.id_group' => 0 ,'Content.id_group is null' ,'Content.is_group' => 1)); } else { $content_list_data_conditions = array_merge($content_list_data_conditions,array('OR' => array( 'Content.id_group' => 0 ,'Content.id_group is null' ,'Content.is_group' => 1 ))); } Исправила опечатку (тому кто будет потом копировать))) Спасибо, все сгруппировалось))) Но теперь при том когда я задаю какой то параметр, скажем красный цвет, выдает-товары не найдены... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 18 февраля, 2019 Жалоба Share Опубликовано 18 февраля, 2019 8 минут назад, allef сказал: if(!empty($filter_list)) { $content_list_data_conditions = array_merge($content_list_data_conditions,array('Content.id' => $filtered_content, 'Content.id_group' => 0 ,'Content.id_group is null' ,'Content.is_group' => 1)); } else { $content_list_data_conditions = array_merge($content_list_data_conditions,array('OR' => array( 'Content.id_group' => 0 ,'Content.id_group is null' ,'Content.is_group' => 1 ))); } Исправила опечатку (тому кто будет потом копировать))) Спасибо, все сгруппировалось))) Но теперь при том когда я задаю какой то параметр, скажем красный цвет, выдает-товары не найдены... Попробуйте такое условие оставить: if(!empty($filter_list)) { $content_list_data_conditions = array_merge($content_list_data_conditions,array('Content.id' => $filtered_content,'Content.is_group' => 1)); } else { $content_list_data_conditions = array_merge($content_list_data_conditions,array('OR' => array( 'Content.id_group' => 0 ,'Content.id_group is null' ,'Content.is_group' => 1 ))); } т.е. только is_group = 1 оставить. По идее, это значит что выводятся тоьлко мастер (главные) товары. Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 18 февраля, 2019 Автор Жалоба Share Опубликовано 18 февраля, 2019 но если выводятся только мастер товары, а они не соответствую по цвету например, то ничего и не выводится.. Все логично. В шаблоне листинга товаров просто условие поставить бы - типа если что то выбрано в фильтре-то атрибуты показываем, если в фильтр пуст то не показываем И проблемы бы решилась... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 18 февраля, 2019 Жалоба Share Опубликовано 18 февраля, 2019 2 минуты назад, allef сказал: но если выводятся только мастер товары, а они не соответствую по цвету например, то ничего и не выводится.. Все логично. В шаблоне листинга товаров просто условие поставить бы - типа если что то выбрано в фильтре-то атрибуты показываем, если в фильтр пуст то не показываем И проблемы бы решилась... Ну да, Вы ж сами писали выше, что не хотите показывать зависимые товары, я Вам написал как убрать зависимые. Получается, что либо так, либо так. Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 18 февраля, 2019 Автор Жалоба Share Опубликовано 18 февраля, 2019 Видимо я неправильно объяснила. В листинге товаров под названием идут атрибуты Свитер Пол: для мальчиков и девочек Размер: 28-92 Цвет: белый с голубым Но по факту там и другие размеры и цвета, потому что к этому товару привязаны еще десятки. И пользователь будет думать что этот товар-только такого размера и цвета и во внутрь не зайдет. По этому хотелось бы атрибуты вообще не показывать. Просто свитер и все. А уж зашел он в товар и выбрал что ему надо. И это я сделала - в шаблоне в микрошаблоне product-listing в 54 строке <div class="description">{attribute_list product_id=$node.id}</div> присвоив display:none Но когда в фильтре выбираем размер например - он выдает кучу товаров без группировки(что тоже логично), но раз атрибуты я спрятала-получается тоже не понятно, что эти одинаковые товары с заголовком свитер имеют скажем разный цвет при одинаковом размере Поэтому надо какую то конструкцию типа: if (хоть какой то параметр в фильтре выбран) { <div class="description">{attribute_list product_id=$node.id}</div> } Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 18 февраля, 2019 Жалоба Share Опубликовано 18 февраля, 2019 Так а почему Вы не выводите attribute_list всем товарам?! Там ведь как раз и будет видно, что это за товар. По характеристикам. Без всяких условий выводите всем товарам характеристики. Какой-то тогда смысл в фильтрах если Вы всё равно скрываете вывод характеристик, по которым, собственно, идёт фильтрация. Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 18 февраля, 2019 Автор Жалоба Share Опубликовано 18 февраля, 2019 Вот пройдите по ссылке http://kotri-shop.ru/category/Saraphan.html Видим 4 сарафана. Самый первый Пол: для девочек Размер: 26-86 Цвет: льняной с синим То есть если мамаша имеет ребенка размера 32-110 она в этот товар не зайдет. Потому что не знает что там внутри куча цветов и размеров. Вот поэтому я и не хочу ей показывать тут атрибуты. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 18 февраля, 2019 Жалоба Share Опубликовано 18 февраля, 2019 39 минут назад, allef сказал: Вот пройдите по ссылке http://kotri-shop.ru/category/Saraphan.html Видим 4 сарафана. Самый первый Пол: для девочек Размер: 26-86 Цвет: льняной с синим То есть если мамаша имеет ребенка размера 32-110 она в этот товар не зайдет. Потому что не знает что там внутри куча цветов и размеров. Вот поэтому я и не хочу ей показывать тут атрибуты. Понятно. Вообще есть метка {filter_active_name}, которая как раз выводит название текущего фильтра если он задан. Её можно использовать для того что б задать условие. т.е. в Админке - Оформление - Микро-шаблона - product-listing меняйте: <div class="description">{attribute_list product_id=$node.id}</div> на: {if {filter_active_name}}<div class="description">{attribute_list product_id=$node.id}</div>{/if} Тогда, по идее, Вы получите то, что хотите, если я Вас правильно понял. т.е. в плитках товара характеристики товара будет видны только если выбран какой-то фильтр. Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 19 февраля, 2019 Автор Жалоба Share Опубликовано 19 февраля, 2019 Да! все отлично! как раз то что нужно))) Спасибо)) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 февраля, 2019 Жалоба Share Опубликовано 19 февраля, 2019 1 час назад, allef сказал: Да! все отлично! как раз то что нужно))) Спасибо)) Не за что Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения