Перейти к содержанию
Официальный форум поддержки Simpla

Канонические ссылки у дочерних категорий


Рекомендуемые сообщения

Помогите советом, не знаю как правильно сделать.

Есть категории товаров 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 в стандартном виде, либо выводило ссылку главной категории всем дочерним.

Изменено пользователем Kami
Ссылка на сообщение
Поделиться на другие сайты

примерно так

 

{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}

Ссылка на сообщение
Поделиться на другие сайты
  • 2 года спустя...

Еще задачка, перепробьівал все - безрезультатно :(
Есть опция, при которой прямо пунктом подкатегории вьіводиться родительская Категория с Распродажньіми товарами (условие $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]

 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...