Виртуальная категория Есть решение
Есть необходимость создания третьего вида категорий - назвал бы тип как "виртуальный". Суть в следующем: необходимо из имеющихся категорий собирать новое дерево формируемое произвольным образом контент-менеджером. Это очень востребованно в области подарков. Присваивать каждому товару новую категорию при кол-ве товаров более 30000 очень трудоемко и админка в этом плане "не айс". А вот сделать виртуальные категории, которые можно отображать, например, в отдельном дереве категорий и в настройках каждой категории выбирать галочками товары каких статических категориий выводить - вот это в данном случае выход. Еще встанет вопрос как формировать хлебные крошки или ЧПУ...
Подскажите куда копать? И вообще сейчас это реализуемо (плагином, например)? Может уже есть готовые непубличные реализации?Публикавал вопрос как ответ к Категории товаров в Shop-Script 5.
9 ответов
Мне кажется, вы пытаетесь изобрести динамические категории с фильтром по набору тегов. То, что у вас обычные категории, должно на самом деле было быть тегами.
Теги тут тоже не подходят, т.к. теряется иерархия - а это и есть первопричина всего замысла.
Нужно именно альтернативное дерево категорий на сайте, но с удобством редактирования как обычных категорий.
И задача собрать дерево из уже имеющихся категорий, при этом не затрагивая товары.
Развесьте на товары теги, а потом стройте хоть 10 разных деревьев категорий на их базе. Не вижу проблем.
Ваши имеющиеся категории становятся тегами. Ваше имеющееся дерево получается из категорий, каждая из которых фильтрует ровно по одному тегу. Новое дерево получается из категорий, каждая из которых фильтрует по набору тегов.
Леонид, проставлять тэги товарам не вариант, т.к. объем работ на более чем 30000 товарах сами понимаете какой. А вот раскидать 400-500 статичных категорий по виртуальным уже проще и достижимо. Спасибо за совет, но в данном варианте не приемлемо. Готового решения видимо еще нет. Если бы дали наводку на возможность сделать плагин (какие хуки, может есть примеры, куда копать и т.п.)...
В итоге решиили все таки через тэги делать. Написали скрипт, который по крону добавляет всем товарам теги имена которых совпадают с именами категорий и далее применили фильтр по набору тегов для динамических категорий.
Правда есть косяк в админке при редактировании динамиской категории чекбоксы приходится каждый раз по новой выставлять. Надеюсь исправите в ближайшем обновлении SS6.
Леонид, спасибо за идею.
Видимо, ваш скрипт создаёт каждый раз теги заново, и у них меняются ID. А в настройках категории сохранены старые имеющиеся ID. Это не баг магазина, это баг вашего скрипта ко крону.
Леонид, таблицу для shopTagModel не трогаем, только добавляем новые элементы. Каждый раз пересоздаем таблицу (делаем TRUNCATE TABLE) для shopProductTagsModel и ее заполняем.
Звучит разумно. Значит, моя первоначальная версия не оправдалась.
Почему я это предположил-то. Попробовал у себя создавать и редактировать динамические категории с фильтром по тегам. Никакие галочки не сбрасываются. Может, я вас не так понял, конечно... В любом случае, пока идей нет, нужно больше информации. Если воспроизведёте на чистой установке (например, демо-магазине), дайте знать.
Леонид, проставлять тэги товарам не вариант, т.к. объем работ на более чем 30000 товарах сами понимаете какой. А вот раскидать 400-500 статичных категорий по виртуальным уже проще и достижимо. Спасибо за совет, но в данном варианте не приемлемо. Готового решения видимо еще нет. Если бы дали наводку на возможность сделать плагин (какие хуки, может есть примеры, куда копать и т.п.)...