Open Graph в DLE

12
WebAlt
На сайте с 02.12.2007
Offline
262
#11

В новой версии DLE будет поддержка Open Graph в метатегах.

AS
На сайте с 19.02.2013
Offline
4
#12

В DLE 10 разработчиками добавлена специальная разметка в метатегах согласно протоколу Open Graph. Так вот в новостях эта разметка берет не правильное изображение для новости. Так как в доп поле [xfvalue_poster] вставляется ссылка такого типа http://mysite.ru/uploads/posts/2013-04/1366610712_poster_123454.jpg

В шаблоне она оборачивается в тег <img src= и становится картинкой таким образом

<img src="[xfvalue_poster]"alt="{title}" title="{title}"/>

То есть при формирование метатег og:image постер не видит так как по сути он не является картинкой потому что не обернут в <img src=

Надо как то напрямую указать что og:image = [xfvalue_poster]

Никак не могу разобраться как такое сделать

S
На сайте с 03.01.2012
Offline
26
#13
Aizen sama:

Надо как то напрямую указать что og:image = [xfvalue_poster]

В fullstory.tpl, как уже писал ранее, в начало вставьте код:

<script type="text/javascript">
$(document).ready(function(){
$("head").append('<meta property="og:image" content="[xfvalue_poster]" />');
});
</script>

После чего надо где то в движке убрать автоматическое формирование <meta property="og:image". Сам сейчас ищу где...

*******

Не нашел как убрать создание именно "og:image", убрал полностью автоматическое формирование разметки OG: во-первых потому что видео при вставке через доп. поля не то берется (точнее вообще не учитывается), во-вторых при добавлении видео не через тег [video] вместо <meta content="application/x-shockwave-flash" property="og:video:type"> создается <meta content="article" property="og:type"> ну и т.д.

В общем если необходимые данные для Open Graph добавляются в новости через доп. поля, то надо убрать их автоматическое формирование (в engine.php) и выводить принудительно по типу:

<script type="text/javascript">
$(document).ready(function(){
$("head").append('<meta property="og:image" content="[xfvalue_poster]" />');
});
</script>

AS
На сайте с 19.02.2013
Offline
4
#14
<script type="text/javascript">
$(document).ready(function(){
$("head").append('<meta property="og:image" content="[xfvalue_poster]" />');
});
</script>

Спасибо! Отличное решение, не зря говорят все гениальное просто!

После чего надо где то в движке убрать автоматическое формирование <meta property="og:image".

В engine/modules/show.full.php

удалил строку if ( count($images) ) $social_tags['image'] = $images[0]; и стандартный <meta property="og:image" пропал

Не знаю на сколько это правильно и не повлечет ли это какие то ошибки в работе движка.

Но в принципе получилось то что нада!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий