РЕШЕНО: meta description материала - не отображается

  • 6 Ответов
  • 4194 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн x1

Имеется К2 2.5.4  и joomls 2.5
Создан пункт меню - вывод материалов из определенной подкатегории и заполнено поле Метаданные-Мета-тег Description.
Во фронте при открытии страницы этого меню выводится список материалов из подкатегории и meta description.  Но приоткрытии страницы с материалом по прежнему отображается meta description этого пункта меню, а не meta description самого материала. Все перерыл, где искать и как исправить?
« Последнее редактирование: 04.03.2012, 17:28:27 от x1 »

*

Оффлайн yrygvay

а meta description точно у материала прописан!?

можете показать статью?!
Смотрю....

*

Оффлайн x1

Прописан, проверено. Удаляю все, что в поле мета-дескрипшен в пунтке меню показа материалов ПОДкатегории и тогда мета-дескрипшен материала при показе этого самого материала появляется. Копи-пастэ обратно в мета дескрипшен меню - и во фронте при показе материала опять дескрипшен категории.
« Последнее редактирование: 04.03.2012, 01:49:11 от x1 »

*

Оффлайн x1

С утра все пересмотрел еще раз. meta description материала появляется только если удалить данные в  meta description подкатегории. неужели только у меня такое?
Вот здесь то же описание этой проблемы: http://code.google.com/p/joomlaworks/issues/detail?id=110
« Последнее редактирование: 04.03.2012, 14:21:07 от x1 »

*

Оффлайн x1

Вобщем решено самостоятельно:
В файле "components\com_k2\views\item\view.html.php" в районе строки 302 меняем код:

// Menu metadata for Joomla! 1.6/1.7 (Overrides the current metadata if set)
if(K2_JVERSION == '16') {

if ($params->get('menu-meta_description')) {
$document->setDescription($params->get('menu-meta_description'));
}

if ($params->get('menu-meta_keywords')) {
$document->setMetadata('keywords', $params->get('menu-meta_keywords'));
}



на этот код. Т.е. добавляем проверку, если пункт меню имеет свои meta description и meta keywords, а материал  - свои, то выводятся данные материала.


// Menu metadata for Joomla! 1.6/1.7 (Overrides the current metadata if set)
if(K2_JVERSION == '16') {

if ($params->get('menu-meta_description') && (!$document->setDescription($item->metadesc))) {
$document->setDescription($params->get('menu-meta_description'));
}

if ($params->get('menu-meta_keywords') && (!$document->setMetadata('keywords', $item->metakey))) {
$document->setMetadata('keywords', $params->get('menu-meta_keywords'));
}


Подскажите, что делать, если такая-же проблема в Joomla! 3.5
Подойдет это же решение?

*

Оффлайн Alines

x1, твой вариант интересен. Он меня натолкнул на мысль. Пораскинул мозгами и сделал еще лучше. От твоего варианта осталось с мета тегами. А вот мета описание теперь берется не только напрямую из тела статьи,  но и обрезает его длину до 150 символов. Это количество можно менять в настройках К2. В случае если материал большой и там не одна тысяча символов, то это ограничение будет очень полезно. Так же это же мета описание дублируется на Open Graph описание. Что тоже очень удобно.
// Menu metadata for Joomla! 2.5+ (overrides the current metadata if set)
if (K2_JVERSION != '15')
{

if ($params->get('menu-meta_description')) {
$document->setDescription(K2_JVERSION == '15' ? $metaDescItem : html_entity_decode($metaDescItem));
}

if ($params->get('menu-meta_keywords') && (!$document->setMetadata('keywords', $item->metakey))) {

$document->setMetadata('keywords', $params->get('menu-meta_keywords'));
}


Проверено на Joomla 3.6.5 и K2 2.7.0