Breadcrumbs

Мета description из описания материала

Брать meta-description из текста, если не заполнен у item.

Такая необходимость возникла по двум причинам:

  • Невозможно добавить мета-теги, когда юзер добавляет материал с фронта.
  • Даже если из админки вносить материалы, многие админы ленятся вносить descriptoin и получается, что для всех страниц он одинаковый, а это - не хорошо.

В общем-то рецепты есть, вот например: http://jbzoo.ru/docs/custom-meta-for-item.

Но мне хотелось, чтобы в descriptoin добавлялся текст из описания, если при добавлении оно не было добавлено в специальное поле (вкладка Метаданные), плюс обрезалось по словам.

Получилось вот так:

$doc = JFactory::getDocument();
// Мета Description - берем из короткого описание если не заполнены Мета ---
$base_desc = $item->getParams()->get('metadata.description'); // Description из мета item

if (!$base_desc && $this->checkPosition('text')) {
$text = $this->renderPosition('text');
$desc_new = JHtmlString::truncate(strip_tags($text), 160);
$doc->setDescription($desc_new);
}

Ссылки и благодарности

Из доков JBZoo: http://jbzoo.ru/docs/custom-meta-for-item 

JHtmlStringhttps://api.joomla.org/cms-3/classes/JHtmlString.html 

Еще смотрел такие темы JBZoo форума:

  • http://forum.jbzoo.com/topic/13573-avtomaticheskaya-generatciya-descriptoin-keywords-dlya-tovarov-i-kat/
  • http://forum.jbzoo.com/topic/13841-meta-description/
  • http://forum.jbzoo.com/topic/17608-nazvanie-kategorii-metadannye/?hl=description 
  • http://forum.jbzoo.com/topic/17673-kto-kak-zapolnyaet-metategi-dlya-stranitc/?hl=description 
  • http://forum.jbzoo.com/topic/9912-meta-title-v-kategoriyah-zoo-konflikt-s-menyu-joomla/ 
  • http://forum.jbzoo.com/topic/11633-prisvoenie-materialom-meta-description-roditelya/?hl=description