Регистрация
Вход через соцсети
Восстановление пароля

Динамическая установка title, description и keywords для детальной страницы товаров, сформированной с помощью нескольких компонентов

Новый топик
03.03.2015, 13:49
Ответить | Цитировать
Orest

Зарегистрирован:
2015-02-26
Сообщений: 2

Добрый день!

Детальная страница товара на сайте выводится с помощью нескольких компонентов,
поля которые меня интересуют находятся в разных компонентах (например цвет в одном компоненте, а цена и производитель в другом) задача стоит в том, что бы сформировать title следующего вида -

[категория левого меню] [название коллекции], Цвет [цвет из фильтра в левом меню],[тематика из левого меню] от фабрики [название бренда] ([страна производитель];) купить по цене от [цена с карточки товара] руб./м с доставкой по Москве.

В итоге должен получиться такой тайтл -
<title>Плитка для ванной Венеция, цвет белый, моноколор от Уралкерамика (Россия). Купить по цене от 500 руб./м с доставкой по Москве </title>

Подобным образом должны строиться description и keywords.

В настоящее время тайтл выводится следующим образом, в шаблоне странице прописан код - <title><?= (($current_cc['Class_Name'] == 'Информация о колекции')?getTipPlitka4Collection($current_cc['Subdivision_ID']).' '.$current_cc['Sub_Class_Name'].' от фабрики '.infoproizvcat1($current_cc['Subdivision_ID'])грустный ($title = $nc_core->page->get_title()) ? $title : $nc_core->page->get_h1())) ?></title>

В котором используются, как я понимаю самописные функции.
Вопрос - где могут подключаться подобные функции?

Была мысль с помощью API получить значение свойств полей в (шаблоне страницы) из всех необходимых компонетов, с помощью которых выводится детальная страница товара,
Но к сожалению не смог разобраться.

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

Возможно есть какие-то более правильные варианты установки title, description и keywords. Подскажите пожалуйста, как поступить в моем случае?
08.03.2015, 15:35
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Уточните, пожалуйста, каким образом у вас на одной детальной странице выводится информация из нескольких компонентов? Несколько инфоблоков добавлено в один и тот же раздел? Или данные одного компонента выводятся в другой компонент через listquery/nc_objects_list/и т.п.?
В общем случае поступать нужно так:
1. Выбрать из вашего набора какой-то наиболее главный компонент
2. В системных настройках этого компонента сделать склеивание sql-таблиц посредством $query_join + $query_select. В результате вы получите данные из "соседних" компонентов на детальной странице текущего компонента.
3. Используя nc_core->page->set_metatags('title'....) сформировать нужный вам тайтл. Вот дока.

198 196 2015-03-08 15:35:36 14043
Описание проекта