filter по group_id для tag_cloud

rembo1978
Posts: 540
Joined: Thu Jul 26, 2012 5:12 am

filter по group_id для tag_cloud

Post by rembo1978 »

Здравствуйте. Появилась идея создать фильтр для категорий через поле тага, то есть создаем таги для галеры вида - Цвет:красный, Сезон:лето, Размер:42
И через tag_cloud вывести - <tag_cloud num=1-100 filter=Сезон: order=alphabet><!--TAG_NAME--></tag_cloud>
Так работает отлично,НО выводятся для всех категорий все таги с началом Сезон:
Как сделать чтобы фильтрануть по определённой категории или модели - group_id, model_id
Надо <tag_cloud num=1-100 filter=Сезон: order=alphabet group_id=20>
И вывести все таги с Сезон: для категории номер 20
Спасибо.
P.S. Скажите,трудно технически делать, один и тот-же фунционал (например параметр filter=)для всех thumb,models,tag_list и тд. Так сказать универсальный, если работает для <thumb , то работает и в остальных тегах. Иногда построиш логику в голове, а в шаблоне не получается, так как для того или иного тега нет такого параметра.
admin
Site Admin
Posts: 37242
Joined: Wed Sep 10, 2008 11:43 am

Re: filter по group_id для tag_cloud

Post by admin »

Приветствую!
я пока логику не совсем понял зачем это в облако и тп если понятно что кол-во цветов и сезонов ограничено

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

поэтому основной вопрос: а надо ли оно? зачем размер 42 выводить через облако тагов если ясно что размеры будут условно 30 - 48 и других точно не будет тк нет других ног?
Don't forget to run script update
admin
Site Admin
Posts: 37242
Joined: Wed Sep 10, 2008 11:43 am

Re: filter по group_id для tag_cloud

Post by admin »

или с сезонами тоже самое
их 4, новые не добавяться
зачем их в облако если можно просто вывести в темплейте 4 линки?
Don't forget to run script update
rembo1978
Posts: 540
Joined: Thu Jul 26, 2012 5:12 am

Re: filter по group_id для tag_cloud

Post by rembo1978 »

А можно добавить filter= для tag_list
Тогда можно было фильтрануть так
======================
<?
$my_colors = array();
?>

<thumb num=1-1000 allow_dupes=true order=ctr>
<tag_list filter=Цвет: num=1-10>
<?
$my_colors[] = '<!--TAG_NAME-->/"><!--TAG_NAME-->';
$color = array_unique($my_colors);
?>
</tag_list>
</thumb>
<?
foreach($color as $value){
echo "<li><span><a href=\"<!--LNG_URL_PREFIX-->/cat/<!--CATEGORY_CUSTOM_NAME-->/$value</a></span></li>";
}
?>
===============================
В шаблоне категории мы водим все цвета которые есть в это категории (allow_dupes=true чтобы не вредить пагинации)
и таким макаром выводим Сезоны и Размеры ведь для категории Женские зимние кроссовки отпадает сезон Лето и размеры 42-48.
Только одна запинка красиво было бы как-то для
$my_colors[] = '<!--TAG_NAME-->/"><!--TAG_NAME-->';
Вырезать кусок тага а именно (Цвет:) чтобы получалось Красный,Синий а не Цвет:Красный,Цвет:Синий
admin
Site Admin
Posts: 37242
Joined: Wed Sep 10, 2008 11:43 am

Re: filter по group_id для tag_cloud

Post by admin »

как я понимаю у нас задача вывести какие размеры бывают в категории "Женские зимние кроссовки", размер - это один из тагов, не кастом вар, пока все верно?
Don't forget to run script update
rembo1978
Posts: 540
Joined: Thu Jul 26, 2012 5:12 am

Re: filter по group_id для tag_cloud

Post by rembo1978 »

Да, я пробывал через кастом вар, но получается что в поле цвет попадаю для одной галеры например 3 цвета
, а для поля Размер тоже несколько размеров и уже при выводе получается бардак.
Вот пример когда в кастом вар колор попадает несколько цветов для галеры
Женские Кроссовки купить от 89 грн. - 1788 товаров на ZumaLito.jpg
Женские Кроссовки купить от 89 грн. - 1788 товаров на ZumaLito.jpg (25.94 KiB) Viewed 1328 times
Но когда создавать через Tags у нас есть таблицы в базе даных и можно для галеры создать теги цвет которые начинаются на "Цвет:" для цвета а теги "Материал:" для материала и тд
и Получается для галеры есть теги "Цвет:Синие;Цвет:Красный;Материал:Кожа;Материал:Резина и тд"
так как мы добавили к тегам ключи (выделил красным) по которым теперь можно фильтрануть и Цвет и Материал
========
Фильтр для цвета
<?
$my_colors = array();
?>

<thumb num=1-1000 allow_dupes=true order=ctr>
<tag_list filter=Цвет: num=1-10>
<?
$my_colors[] = '<!--TAG_NAME-->/"><!--TAG_NAME-->';
$color = array_unique($my_colors);
?>
</tag_list>
</thumb>
<?
foreach($color as $value){
echo "<li><span><a href=\"<!--LNG_URL_PREFIX-->/cat/<!--CATEGORY_CUSTOM_NAME-->/$value</a></span></li>";
}
?>

Как то так. Одна загвоздка как с названия тега при выводе(позначил синим) через php вырезать для цвета - "Цвет:" чтобы Выводило Красный а не Цвет:Красный.
admin
Site Admin
Posts: 37242
Joined: Wed Sep 10, 2008 11:43 am

Re: filter по group_id для tag_cloud

Post by admin »

echo str_replace('что', 'чем', '<!--TAG_NAME-->')

то что на скрине - это как сформирован список?
Don't forget to run script update
rembo1978
Posts: 540
Joined: Thu Jul 26, 2012 5:12 am

Re: filter по group_id для tag_cloud

Post by rembo1978 »

gallery_custom_var_color
admin
Site Admin
Posts: 37242
Joined: Wed Sep 10, 2008 11:43 am

Re: filter по group_id для tag_cloud

Post by admin »

как я понимаю например есть обувь

у нее 1-5 цветов, всего например 20 цветов

сейчас у каждой прописано 1-5 тагов с цветом обуви что б можно было сделать выборку по нужному цвету ( по факту это выборка по тагу)

все верно?
Don't forget to run script update
rembo1978
Posts: 540
Joined: Thu Jul 26, 2012 5:12 am

Re: filter по group_id для tag_cloud

Post by rembo1978 »

да по <tag_list
При парсинге спонсора(магазина) я беру цвета товара и добавляю к ним ключевое слово Цвет: - таким образом получаются теги типа - Цвет:Красный;Цвет:Синий;Цвет:Желтый
и теперь надо фильтрануть по ключу, тоесть
<tag_list filter=Цвет: num=1-10>
Таким макаром можно создать огромное количество вариантов фильра
Post Reply