Фильтр значений свойств товара

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #1 norfin » 03.03.2023, 07:27

Приветствую!
Возник очередной вопрос.

Есть свойство товара. Включена ссылка на фильтр в товаре и отображение свойства в фильтре.
При клике на одно из значений этого свойства в карточке товара открывается страница с другими товарами с таким же значением этого свойства.
Но показаны товары из текущей категории. Возможно ли отображать товары из родительской категории?
Например, иерархия такая: Главная/Картриджи для принтеров/Лазерные/Оригинальные. Нужно чтобы когда посетитель просматривает товар в подкатегории "Оригинальные" и кликает значение свойства, отображались бы товары с выбранным значением свойства не только из подкатегории "Оригинальные", а из родительской категории "Лазерные" (в этом случае будут показаны подходящие товары всех подкатегорий раздела "Лазерные").
Что где можно подправить?

Uanix
Uanix
Репутация: 0
Сообщения: 7
Зарегистрирован: 29.01.2020
С нами: 4 года 1 месяц

Сообщение #2 Uanix » 03.02.2024, 17:19

Тоже столкнулся с подобной необходимостью.
Так можно вывести отдельно свойство (id == 3), но ссылка будет на текущую категорию, как и стандартно в фильтре.

Код: Выделить всё

 {foreach $product->features as $f}
        {if $f->id == 3}
            {$f->name|escape}: {foreach $f->values as $value}
         <a href="{url_generator route="category" url=$category->url}{if !$settings->category_routes_template_slash_end}/{/if}{$f->url}-{$value->translit}">{$value->value|escape}</a>   {if !$value@last},{/if}{/foreach}
        {/if}
 {/foreach}


Нужно изменить эту конструкцию:

Код: Выделить всё

<a href="{url_generator route="category" url=$category->url}{if !$settings->category_routes_template_slash_end}/{/if}{$f->url}-{$value->translit}">{$value->value|escape}</a>


Как сделать, чтоб ссылка была на конкретную категорию (или на все товары отвечающие свойству) я не разобрался.

Например, есть ссылка свойства "HOME/cat1/свойство" - нужно, чтоб при нажатии на ссылку свойства вело не на "HOME/cat1/свойство" а на "HOME/свойство"

Кто подскажет как это сделать?

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #3 korshunov » 04.02.2024, 05:39

{$category->path[count($category->path)-2]->url}

Uanix
Uanix
Репутация: 0
Сообщения: 7
Зарегистрирован: 29.01.2020
С нами: 4 года 1 месяц

Сообщение #4 Uanix » 04.02.2024, 09:57

korshunov, Спасибо огромное!

Полная конструкция выглядит так:

Код: Выделить всё

{foreach $product->features as $f}
        {if $f->id == 3}
            {$f->name|escape}: {foreach $f->values as $value}
         <a href="{$category->path[count($category->path)-2]->url}{if !$settings->category_routes_template_slash_end}/{/if}{$f->url}-{$value->translit}">{$value->value|escape}</a>{if !$value@last},{/if}{/foreach}
      
      
        {/if}
 {/foreach}


Название раздела: Баг-репорт OkayCMS (Сообщения об ошибках)
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Баг-репорт OkayCMS (Сообщения об ошибках)»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 21 гость