Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как в open graph вывести картинку DLE 11.1?

Как в open graph вывести картинку DLE 11.1?


     Все вопросы » Общие вопросы по PHP    3858

вопрос
В выводится 1 картинка вставленная в полном описании. Как сделать чтоб с начало выводилась с дополнительного поля, а если не заполнено то с описания

Ответил: irrwisch


Вы про существование гугла вообще слышали?

открываете /engine/modules/show.full.php, находите там
if ( count($images) ) $social_tags['image'] = $images[0];
заменяете на

$xfieldsdata = xfieldsdataload( $row['xfields'] );
if ($xfieldsdata['socimg'] != NULL) {
    $social_tags['image'] = $xfieldsdata['socimg'];
} elseif ( count($images) ) {
    $social_tags['image'] = $images[0];
} else {
    $social_tags['image'] = 'http://domain.com/uploads/logo.png';
}
В данном коде заменяете socimg на название нужного вам поля и
http://domain.com/uploads/logo.png
заменяете на свой путь к картинке, которая будет браться, если поле пустое

Ах да, тип поля одна строка, в данное поле вставляется только ссылка на изображение, если у вас тип поля "загружаемое изображение", то работать не будет

11 комментариев

Jossey
Юзер

Jossey - -

в meta og:image

Jossey
Юзер

Jossey - -

***Комментарий удален***

baseroad
Юзер

baseroad - -

Jossey,
А как сделать, чтобы брало картинку из доп. поля? У меня постеры заливаются через доп. поле, а Open Graph берет первую попавшуюся картинку, а так не очень и хорошо... В соц. сети выкладываешь, а там фотки подгружаются, которые в самом посте стоят.(

irrwisch
Юзер

irrwisch - -

***Комментарий удален***

baseroad
Юзер

baseroad - -

irrwisch,
А у меня как раз и стоит "Загружаемое изображение"((((

irrwisch
Юзер

irrwisch - -

Ну тогда вам в стол заказов, так как данный тип поля вставляет относительные ссылки (это первый "косяк"), да ещё надо добавлять регулярку, которая будет оставлять только ссылку, удаляя html код от тега img, который добавляется у данного типа поля автоматически.

UsurpatorVaticana
Юзер

UsurpatorVaticana - -

Я разобрался, сделаю вам за 2$.
skype: suwka.cyc

vitnet
PHP-developer

vitnet - -

Откройте файл engine/modules/show.full.php

найдите
			$xfieldsdata = xfieldsdataload( $row['xfields'] );

далее
					if( $thumb_url ) {
						$xfieldsdata[$value[0]] = "<a href=\"$img_url\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"$thumb_url\" alt=\"\" /></a>";
					} else $xfieldsdata[$value[0]] = "<img class=\"xfieldimage {$value[0]}\" src=\"{$img_url}\" alt=\"\" />";

добавьте ниже
					if( $img_url ) {
						$social_tags['image'] = $img_url;
					}

kolyma
Юзер

kolyma - -

Цитата: baseroad
А у меня как раз и стоит "Загружаемое изображение"((((

Вы решили проблему?

UsurpatorVaticana
Юзер

UsurpatorVaticana - -

baseroad,
kolyma,
Цена вопроса 2$, skype: suwka.cyc

Heavy1
Юзер

Heavy1 - -

UsurpatorVaticana, баблоруб

Похожие вопросы

наверх