Расширение возможностей SEO фильтра

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

ShalmievCom
Аватара
ShalmievCom
Репутация: 5
Сообщения: 20
Зарегистрирован: 01.11.2019
С нами: 4 года 4 месяца
Сайт ВКонтакте

Сообщение #1 ShalmievCom » 23.11.2019, 13:27

Добрый день! Столкнулся с небольшой проблемой. Нужно вывести артикул в шаблонном Title и Description. К сожалению, в системе зашиты по умолчанию ограниченное количество вставок.
{$category} - Название категории
{$category_h1} - Н1 заголовок категории
{$brand} - Название бренда
{$product} - Название товара
{$price} - Цена товара
{$sitename} - Название сайта

Хотелось бы видеть доступное свойство {$артикул_товара}, {$старая_цена_товара}. Некоторые товары ищут по артикулам напрямую, такчто их наличие в снипите важно.

За 5 минут у меня нашлось решение, но оно немного "топорное". Вставить таким образом свойство товара я смог в конец и в начало Title / Description. Возможно, кому-то пригодится. Добавить в любое место внтури тега <decription> или <Title>

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

{if $product->variant->sku|escape}{"Артикул: "}{$product->variant->sku|escape}. {/if}


P.S Вопрос к знающим движок Okay. Корректно ли выводить в шаблоне таким, предложенным мной топорным образом свойства? Я их не только в шаблоне странице Meta тегов использую, но и далее по коду. Не грузит ли это сервер обращением к БД? =)
Последний раз редактировалось ShalmievCom 24.11.2019, 16:46, всего редактировалось 1 раз.
https://Shalmiev.Com создаю, улучшаю и продвигаю сайты

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #2 OkayCMS » 24.11.2019, 10:22

Хорошая идея, в новой версии включим по умолчанию.
Вам сейчас в какую версию нужно добавить эти шорткоды?

ShalmievCom
Аватара
ShalmievCom
Репутация: 5
Сообщения: 20
Зарегистрирован: 01.11.2019
С нами: 4 года 4 месяца
Сайт ВКонтакте

Сообщение #3 ShalmievCom » 24.11.2019, 16:48

OkayCMS писал(а):Хорошая идея, в новой версии включим по умолчанию.
Вам сейчас в какую версию нужно добавить эти шорткоды?

Использую версию 2.3.4. В целом, если это будет в следующем релизе версии 3.*.* - буду доволен =) А что насчёт "правильности" написания кода в моём примере?
https://Shalmiev.Com создаю, улучшаю и продвигаю сайты

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #4 zyxer » 25.11.2019, 08:47

Идея имеет право на жизнь и систему не "грузит")) но более правильное решение это добавить такие строки http://prntscr.com/q1n806 в view/ProductView.php чтобы получилось так:

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

$parts = array(
    '{$brand}'    => ($this->design->get_var('brand') ? $this->design->get_var('brand')->name : ''),
    '{$product}'  => ($product->name ? $product->name : ''),
    '{$price}'    => ($product->variant->price != null ? $this->money->convert($product->variant->price, $this->currency->id, false).' '.$this->currency->sign : ''),
    '{$sku}'       => ($product->variant->sku ? $product->variant->sku : ''),
    '{$compare_price}'    => ($product->variant->compare_price != null ? $this->money->convert($product->variant->compare_price, $this->currency->id, false).' '.$this->currency->sign : ''),
    '{$sitename}' => ($this->settings->site_name ? $this->settings->site_name : '')
);


Для большей красоты, стоит еще добавить эти переменные в backend/design/html/seo_filter_patterns_ajax.tpl (на функциональность не влияют, просто для удобства)
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

ShalmievCom
Аватара
ShalmievCom
Репутация: 5
Сообщения: 20
Зарегистрирован: 01.11.2019
С нами: 4 года 4 месяца
Сайт ВКонтакте

Сообщение #5 ShalmievCom » 25.11.2019, 11:27

zyxer писал(а):Идея имеет право на жизнь и систему не "грузит")) но более правильное решение это добавить такие строки http://prntscr.com/q1n806 в view/ProductView.php чтобы получилось так:

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

$parts = array(
    '{$brand}'    => ($this->design->get_var('brand') ? $this->design->get_var('brand')->name : ''),
    '{$product}'  => ($product->name ? $product->name : ''),
    '{$price}'    => ($product->variant->price != null ? $this->money->convert($product->variant->price, $this->currency->id, false).' '.$this->currency->sign : ''),
    '{$sku}'       => ($product->variant->sku ? $product->variant->sku : ''),
    '{$compare_price}'    => ($product->variant->compare_price != null ? $this->money->convert($product->variant->compare_price, $this->currency->id, false).' '.$this->currency->sign : ''),
    '{$sitename}' => ($this->settings->site_name ? $this->settings->site_name : '')
);


Для большей красоты, стоит еще добавить эти переменные в backend/design/html/seo_filter_patterns_ajax.tpl (на функциональность не влияют, просто для удобства)

О, вот это круто! Спасибо =)
https://Shalmiev.Com создаю, улучшаю и продвигаю сайты


Название раздела: Предложения по улучшению OkayCMS
Правила раздела: faq.php?mode=okay

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


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

   

Вернуться в «Предложения по улучшению OkayCMS»

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

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