Kami Опубликовано 31 октября, 2018 Жалоба Поделиться Опубликовано 31 октября, 2018 (изменено) Помогите советом, не знаю как правильно сделать. Есть категории товаров 3 уровня вложенности. Бытовая техника - Для кухни - Блендеры Суть такая добавил галочку в Категории , которая должна выполнять следующее. Если я захожу в Бытовая техника и ставлю данный чекбокс, то у всех дочерних субкатегорий у "Бытовая техника" становится canonical категории родительской категории. Пример: С включенным чекбоксом: Бытовая техника - canonical <link rel="canonical" href="bitovaya-technika"> (Главная категория) Для кухни - canonical <link rel="canonical" href="bitovaya-technika"> (Подкатегория 2 уровня) Блендеры- canonical <link rel="canonical" href="bitovaya-technika"> (Подкатегория 3 уровня) Если отключаю галочку то: Бытовая техника - canonical <link rel="canonical" href="bitovaya-technika"> (Главная категория) Для кухни - canonical <link rel="canonical" href="dlya-kuhni"> (Подкатегория 2 уровня) Блендеры- canonical <link rel="canonical" href="blenderi"> (Подкатегория 3 уровня) Сам чекбокс добавить не проблема, вопрос как правильно построить цикл чтоб проверялось условие чекбокса а потом либо оставляло canonical в стандартном виде, либо выводило ссылку главной категории всем дочерним. Изменено 31 октября, 2018 пользователем Kami Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 31 октября, 2018 Жалоба Поделиться Опубликовано 31 октября, 2018 примерно так {if $category->checkbox_name}{$canonical_category=$category->path[0]}{/if} {if $canonical_category} <link rel="canonical" href="{$config->root_url}catalog/{$canonical_category->url}"/>{/if} {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
byrzyi Опубликовано 8 ноября, 2020 Жалоба Поделиться Опубликовано 8 ноября, 2020 Еще задачка, перепробьівал все - безрезультатно Есть опция, при которой прямо пунктом подкатегории вьіводиться родительская Категория с Распродажньіми товарами (условие $filter['discounted'] = 1) Ссьілка, для которой нужно rel="canonical" получается в виде: /catalog/category/sale в ProductsView для єтого используется: function fetch() { // GET-Параметры $category_url = $this->request->get('category', 'string'); $brand_url = $this->request->get('brand', 'string'); $brand_id = $this->request->get('brand_id'); $mode = $this->request->get('mode', 'string'); $filter = array(); $filter['visible'] = 1; $filter['brand_id'] = array(); if ($mode == 'hits') { $filter['featured'] = 1; } if ($mode == 'sale') { $is_sale = 1; $this->design->assign('is_sale', 1); $filter['discounted'] = 1; } А в htaccess RewriteRule ^sale/?$ index.php?module=ProductsView&mode=sale [L,QSA] Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.