Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как настроит если много изображений в $social_tags['image']?

Как настроит если много изображений в $social_tags['image']?


     20.03.2021    dle, php, метатеги    Все вопросы » Общие вопросы по PHP    825

вопрос
Онлайн кинотеатр. На сайте есть 3 доп. поля для изображений, и нужно что-бы они выводились в meta-теги.
Коротко про доп. поля
poster - поле куда загружается постер с компьютера на сервер сайта
poster-link - ссылка на постер с другого сервера
screens - широкий постер для соц. сетей и мессенджеров, например для инстаграма, вк, вайбер, телеграм.

screens используется только в сериалах.

В show.full.php я сделал

$social_tags['image'] = "/uploads/posts/" . $xfieldsdata['poster'];
$social_tags['image'] =  $xfieldsdata['poster-link'];
$social_tags['image'] =  $xfieldsdata['screens'];

Но если посмотреть код в фильмах и сериалах то выходит вот так:
Сериал:
<meta property="og:image" content="x">

Фильм:
<meta property="og:image" content="">


Суть в том что я хочу сделать что-бы если поле "screens" не заполнено, то выводилось поле "poster", если и оно не заполнено то поле "poster-link", а если и это поле не заполнено то либо ничего не выводилось, либо заглушка.
Надеюсь всё понятно, заранее спасибо!

Ответил: Ewexon


Сделал вот так:
$social_tags['image'] =  $xfieldsdata['screens']
?? $xfieldsdata['poster-link']
?? ( $xfieldsdata['poster'] ? "/uploads/posts/".$xfieldsdata['poster'] : '/xx/xx/xx/no_image.jpg' );

2 комментария

TeraMoune
Эксперт

TeraMoune - 21 марта 2021 02:18 -

Пользуйся условиями

if( $var ) {
   //Если переменная есть то выполняется код блока if
}elseif( $var2 ) {
   //Если переменной $var нету, проверяется другая переменная и если она есть то выполняется код блока elseif
}else{
   //Если ничего выше не сработало, применяется стандартный блок else
}

Тестовый репозиторий установки плагинов: teramoune

Ewexon
Юзер

Ewexon - 21 марта 2021 15:04 -

Так?
if( $var ) {
    $social_tags['image'] =  $xfieldsdata['screens']
    }
        elseif( $var2 ) {
    $social_tags['image'] =  $xfieldsdata['poster-link']
    }
    else{
    $social_tags['image'] =  $xfieldsdata['poster'] ? "/uploads/posts/".$xfieldsdata['poster'] : '/templates/x/dleimages/no_image.jpg' );
    }

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх