Столкнулся с этой проблемой. Написал такой простенький код для заполнения meta-тэгов Title и Description на страничке товара.
Title Заполняется из названия товара + пользовательский текст.
Description пытаемся брать из короткого описания, если нет то из полного описания, если нет, то формируем из названия товара + пользовательский текст.
Вставить в product_default.php в начале кода, перед
"<div class="jshop productfull" id="comjshop">".
С комментами, чтобы понятно было. Пока работает. Если можете кинуть тапком - велкоме.
<?php
$add_custom_title = "пользовательский текст"; // ваше окончание тега Title
$add_custom_desc_before = "пользовательский текст"; // ваше начало тега Description
$add_custom_desc_after = "пользовательский текст"; // ваше окончание тега Description
$document = JFactory::getDocument();
/*----------- Автоматически создаем мета тегов для товара -----------------*/
//Title - Название продукта + $add_custom_title
if (trim(str_replace(" ","",$document -> title)) == "") {
$document->setTitle($this->product->name.' '.$add_custom_title);
};
//description
/*---- Если Description отсутствует то короткое описание, если короткого нет то полное, если и его нет - $add_custom_desc_before + Название товара + $add_custom_desc_after - всего до 160 символов*/
if (trim(str_replace(" ","",$document -> description)) == "") {
if (($this->product->short_description) and (trim(str_replace(" ","",$this->product->short_description))!== "")) {
$metadesc_short_desc = mb_substr(trim(str_replace(" ","",strip_tags($this->product->short_description))),0,156);
$document->setMetaData('description',$metadesc_short_desc);
}
elseif (($this->product->description) and (trim(str_replace(" ","",strip_tags($this->product->description)))!== "")) {
$metadesc_full_desc = mb_substr(trim(str_replace(" ","",strip_tags($this->product->description))),0,156).'...';
$document->setMetaData('description',$metadesc_full_desc);
}
else {
$document->setMetaData('description',mb_substr($add_custom_desc_before." ".$this->product->name.$add_custom_desc_after,0,160));
}
};
?>
Если указаны Title или Decription в админке товара, то они и остаются.
Я еще одобавляю тут OpenGraph теги - но это другая тема...
Это, конечно, не лучшее решение... но лучше, чем без тэгов вообще.