получается. J4.1.2
Собственно я хочу выводить open graph в шаблоне статьи. Не подскажите как получить картинку?
//OpenGraph
if (isset($images->image_intro) and !empty($images->image_intro))
{
$timage= htmlspecialchars(JURI::root().$images->image_intro);
}
elseif (isset($images->image_fulltext) and !empty($images->image_fulltext))
{
$timage= htmlspecialchars(JURI::root().$images->image_fulltext);
}
else
{
$timage= 'картинка по умолчанию';
}
$doc =& JFactory::getDocument();
$doc->addCustomTag( '
<meta name="twitter:title" content="'.$this->escape($this->item->title).'">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="'.str_replace('" ','"',JURI::current()).'"="">
<meta name="twitter:description" content="'.strip_tags($this->item->introtext).'">
<meta name="twitter:image" content="'.$timage.'">
<meta property="og:title" content="'.$this->escape($this->item->title).'"/>
<meta property="og:type" content="article"/>
<meta property="og:url" content="'.str_replace('" ','"',juri::current()).'"="">
<meta property="og:image" content="'.$timage.'"/>
<meta property="og:description" content="'.strip_tags($this->item->introtext).'"/>
');
Это не работает?
Всё работает кроме вывода вступительного изображения статьи.
Старый код, на j4 он и не должен работать.
Отсюда вопрос, как сделать? Или это секрет?
Он может работать, но не факт. Не у компа. Подскажите ему как картинки в массиве посмотреть.
Я с телефона мне не удобно, зайдите на официальную документацию.
Там к картинкам доступ не через $images, а через $this->item->что-то-там
Примерно вот так я получил intro image. Всё заработало $regexImageSrc = '/#joomlaImage?([^\'" >]+)/'; $img= preg_replace($regexImageSrc, '', json_decode($this->item->images)->image_intro);
Я на своем сайте сделал статью с описанием кодом. Там можно скачать готовый файл php для статьи и категории https://seomatrix.net/joomla4/razmetka-open-graph
https://github.com/master3-blank-template/Master3_J4/tree/main/tpl_master3_j4/html/layouts/joomla/content вот так переопределяются стандартные макеты материала, картинки в т.ч.
если вы это делаете для собственного сайта. то ок, если для клиента - будьте готовы быть проклятым каждым разработчиком, что однажды придёт в проект после вас
Обсуждают сегодня