Мета 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
JHtmlString: https://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