Перейти к публикации

og:image из дополнительного поля


Рекомендованные сообщения

Яндекс ругается.
ОШИБКА: поле http://ogp.me/ns#image отсутствует или пусто

 

Так вот, как взять og:image из дополнительного поля тип фотография, если то заполнено? Если не заполнено, то брать из краткого содержания.

 

Сайт for24.ru

Ссылка на сообщение
Поделиться на других сайтах

В engine/modules/show.full.php

Найти
$social_tags['url'] = $full_link;

Ниже вставить, или заменить аналогичный $social_tags['image']
$xfieldsdata = xfieldsdataload( $row['xfields'] );
$social_tags['image'] = $xfieldsdata['poster'];      

Где ['poster'] - название доп поля с фото  

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Tekzo17 сказал:

В engine/modules/show.full.php

Найти
$social_tags['url'] = $full_link;

Ниже вставить, или заменить аналогичный $social_tags['image']
$xfieldsdata = xfieldsdataload( $row['xfields'] );
$social_tags['image'] = $xfieldsdata['poster'];      

Где ['poster'] - название доп поля с фото  

А теперь посмотрите что делает ваш говнокод...
И зачем тут перебирать массив данных доп.полей по два раза тоже вопрос хороший...

Ссылка на сообщение
Поделиться на других сайтах
33 минуты назад, Яйцерезка сказал:

А теперь посмотрите что делает ваш говнокод...
И зачем тут перебирать массив данных доп.полей по два раза тоже вопрос хороший...

Он выводит в og:image мое изображение с доп.полей. Остальное меня вообще не беспокоит.
Типичный русский быдло пользователь интернета. Вместо подсказа или помощи, и ответа на нужный вопрос, бесмысленное обсирание повышающее возможно свое эго.

Изменено пользователем Tekzo17
Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Tekzo17 сказал:

В engine/modules/show.full.php

Найти
$social_tags['url'] = $full_link;

Ниже вставить, или заменить аналогичный $social_tags['image']
$xfieldsdata = xfieldsdataload( $row['xfields'] );
$social_tags['image'] = $xfieldsdata['poster'];      

Где ['poster'] - название доп поля с фото  

Спасибо! Но я не уверен, что выводится правильно. 

 

Выводится: 

<meta property="og:image" content="2018-08/1535724544_1529593694_2018-06-21-18-06-www_insales_ru1.png">

 

 

А картинка нахходится в /uploads/posts/2018-08/1535724544_1529593694_2018-06-21-18-06-www_insales_ru1.png

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, alexpsp сказал:

Спасибо! Но я не уверен, что выводится правильно. 

 

Выводится: 

<meta property="og:image" content="2018-08/1535724544_1529593694_2018-06-21-18-06-www_insales_ru1.png">

 

 

А картинка нахходится в /uploads/posts/2018-08/1535724544_1529593694_2018-06-21-18-06-www_insales_ru1.png

$social_tags['image'] = $config['http_home_url'] . 'uploads/posts/' . $xfieldsdata['poster'];

 

Ссылка на сообщение
Поделиться на других сайтах

Ну да зачем читать документацию, нужно же сразу лезть в код скрипта, и что то там править.

 

Вывод доп. полей, допускается в шаблоне main.tpl при просмотре полных новостей. Читаем документацию, добавляем конструкцию

 

[available=showfull]<meta property="og:image" content="[xfvalue_image_url_X]">[/available]

где [xfvalue_image_url_X] вместо X имя нужного доп. поля.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, celsoft сказал:

Ну да зачем читать документацию, нужно же сразу лезть в код скрипта, и что то там править.

 

Вывод доп. полей, допускается в шаблоне main.tpl при просмотре полных новостей. Читаем документацию, добавляем конструкцию

 


[available=showfull]<meta property="og:image" content="[xfvalue_image_url_X]">[/available]

где [xfvalue_image_url_X] вместо X имя нужного доп. поля.

Только вот будет дубль тега, разве нет? Ведь в DLE он и так показывается в полной новости.

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Gameer сказал:

Только вот будет дубль тега, разве нет? Ведь в DLE он и так показывается в полной новости.

Применительно к автору топика думаю что нет, т.к. этот параметр будет заполнен DLE, только если в полной или краткой новости стоит контент в виде вставленных и оформленных картинок. У автора топика как я понял по теме, нет там ничего, поэтому у него проверка говорит об отсутствие этого тега, и он хочет заполнить его содержанием адреса картинки из доп. поля.

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, alexpsp сказал:

Спасибо! Но я не уверен, что выводится правильно. 

 

Выводится: 

<meta property="og:image" content="2018-08/1535724544_1529593694_2018-06-21-18-06-www_insales_ru1.png">

 

 

А картинка нахходится в /uploads/posts/2018-08/1535724544_1529593694_2018-06-21-18-06-www_insales_ru1.png

Потому что автор этого недокода даже не понимает его смысл, т.к. скопировал его из соседней темы...
И да, нагрузка от использования доп.полей у вас теперь возросла, причём не так уж и мало.
 

3 часа назад, celsoft сказал:

Применительно к автору топика думаю что нет, т.к. этот параметр будет заполнен DLE, только если в полной или краткой новости стоит контент в виде вставленных и оформленных картинок. У автора топика как я понял по теме, нет там ничего, поэтому у него проверка говорит об отсутствие этого тега, и он хочет заполнить его содержанием адреса картинки из доп. поля.

Пора бы уже разделить {headers} на отдельные мелкие переменные, нагрузка чуть возрастёт, но зато гибкость будет куда выше, и костыли не нужны будут.

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, celsoft сказал:

Применительно к автору топика думаю что нет, т.к. этот параметр будет заполнен DLE, только если в полной или краткой новости стоит контент в виде вставленных и оформленных картинок. У автора топика как я понял по теме, нет там ничего, поэтому у него проверка говорит об отсутствие этого тега, и он хочет заполнить его содержанием адреса картинки из доп. поля.

У меня как раз в старых новостях картинка в кратком поле. 

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, alexpsp сказал:

У меня как раз в старых новостях картинка в кратком поле. 

Тогда только хаком, но не этим, если много доп.полей и ресурсы девать есть куда.

Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, Яйцерезка сказал:

Тогда только хаком, но не этим, если много доп.полей и ресурсы девать есть куда.

Ну пока буду этим пользоваться. Если бы я вас в каждой теме слушал, давно бы руки опустились. Вы только критикуете каждую тему и ни одного решения. На решения времени не хватает, всё время уходит на критику.  

Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, alexpsp сказал:

Ну пока буду этим пользоваться. Если бы я вас в каждой теме слушал, давно бы руки опустились. Вы только критикуете каждую тему и ни одного решения. На решения времени не хватает, всё время уходит на критику.  

alexpsp, не волнуйся так, это старый скайнет вернулся, неоднократно баненный. Ты привыкнешь к его флуду. Со временем.

Ссылка на сообщение
Поделиться на других сайтах
  • 8 месяцев спустя...

Разметка Open Graph позволяет подстраховаться, указав, например, альтернативную картинку. Если первый URL будет недоступен, то в предпросмотр подгрузится вторая картинка. Очередь (приоритет) — сверху вниз.

Поэтому достаточно в main.tpl, вместо {headers} заменить:

[available=showfull][xfgiven_cover]<meta property="og:image" content="/uploads/posts/[xfvalue_cover]" />[/xfgiven_cover][/available]
{headers}
<meta property="og:image" content="{THEME}/images/logo-256x256.png" />
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...