radrigo 180 Опубликовано: 10 февраля 2016 Рассказать Опубликовано: 10 февраля 2016 Всем привет. Продублирую свой вопрос в этой ветке. Подскажите, возможно ли сделать чтоб мегатег с фото сначала прописывался из доп полей? <meta property="og:image" content="http://www.sait.ru/uploads/posts/2016-01/thumbs/1453201814_foto.jpg" /> Сейчас так, цитирую celsoft Цитата из полной, если заполена полная новость и из краткой если полная новость не заполнена и из доп. полей, если картинки нет ни в краткой и ни в полной. Допустим вот новость http://www.gusev-online.ru/news/obshestvo/5904-gendirektor-ao-yantarenergo-prokommentiroval-situaciyu-s-platezhkami-za-teplo-v-guseve.html В ней фото в мегатеге прописано маленькое из краткой новости, что не очень красиво при публикации в соц сети. По мойму это не правильно. Заранее признателен за подсказку. Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 455 Опубликовано: 10 февраля 2016 Рассказать Опубликовано: 10 февраля 2016 1 час назад, radrigo сказал: возможно ли сделать чтоб мегатег с фото сначала прописывался из доп полей? да, возможно. в файле engine/modules/show.full.php правьте код отвечающий за вывод meta тега property="og:image" Цитата Ссылка на сообщение Поделиться на других сайтах
radrigo 180 Опубликовано: 10 февраля 2016 Рассказать Опубликовано: 10 февраля 2016 Автор 51 минуту назад, germanydletest сказал: да, возможно. в файле engine/modules/show.full.php правьте код отвечающий за вывод meta тега property="og:image" А немного подробнее можно? Что именно и как подправить? Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 11 февраля 2016 Рассказать Опубликовано: 11 февраля 2016 (изменено) 15 час назад, radrigo сказал: Что именно и как подправить? я делал так: найти if ( count($images) ) $social_tags['image'] = $images[0]; заменить на // if ( count($images) ) $social_tags['image'] = $images[0]; $xfieldsdata = xfieldsdataload( $row['xfields'] ); if ($xfieldsdata['img'] != NULL) { $social_tags['image'] = $xfieldsdata['img']; } elseif ( count($images) ) { $social_tags['image'] = $images[0]; } else { $social_tags['image'] = 'http://www.menville.net/uploads/menville.png'; } могу ошибаться, но вроде эта чать... img - это идентификатор доп. поля Изменено 11 февраля 2016 пользователем odys Цитата Ссылка на сообщение Поделиться на других сайтах
radrigo 180 Опубликовано: 13 февраля 2016 Рассказать Опубликовано: 13 февраля 2016 Автор В 11.02.2016в13:54, odys сказал: я делал так: найти if ( count($images) ) $social_tags['image'] = $images[0]; заменить на // if ( count($images) ) $social_tags['image'] = $images[0]; $xfieldsdata = xfieldsdataload( $row['xfields'] ); if ($xfieldsdata['img'] != NULL) { $social_tags['image'] = $xfieldsdata['img']; } elseif ( count($images) ) { $social_tags['image'] = $images[0]; } else { $social_tags['image'] = 'http://www.menville.net/uploads/menville.png'; } могу ошибаться, но вроде эта чать... img - это идентификатор доп. поля Наконец-то появилось время попробовать. Заменяю в show.full.php if ( count($images) ) $social_tags['image'] = $images[0]; на такой код // if ( count($images) ) $social_tags['image'] = $images[0]; $xfieldsdata = xfieldsdataload( $row['xfields'] ); if ($xfieldsdata['foto'] != NULL) { $social_tags['image'] = $xfieldsdata['foto']; } elseif ( count($images) ) { $social_tags['image'] = $images[0]; } else { $social_tags['image'] = 'http://www.gusev-online.ru/uploads/gusev.png'; } Картинка в мегатеге прописывается из доп. поля "foto", однако в верху сайта появился непонятный кусок кода Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 13 февраля 2016 Рассказать Опубликовано: 13 февраля 2016 3 часа назад, radrigo сказал: непонятный кусок кода а как ты прописываешь картинку в доп. поле? и пропиши вновь в show.full.php, чтобы хоть глянуть исходный код мог Цитата Ссылка на сообщение Поделиться на других сайтах
radrigo 180 Опубликовано: 13 февраля 2016 Рассказать Опубликовано: 13 февраля 2016 (изменено) Автор 1 час назад, odys сказал: а как ты прописываешь картинку в доп. поле? и пропиши вновь в show.full.php, чтобы хоть глянуть исходный код мог Тип доп. поля "Несколько строк", картинку прописываю как и новость, порой там не только картинку прописываю, но и источник картинки. Только понял что вставляется всё содержимое в мегатег. <meta property="og:image" content="<!--dle_image_begin:http://www.gusev-online.ru/uploads/posts/2016-02/1455362730_00.jpg|--><img src="/uploads/posts/2016-02/1455362730_00.jpg" alt="В Гусеве состоялась III литературная встреча учащихся и педагогов Калининградской области" title="В Гусеве состоялась III литературная встреча учащихся и педагогов Калининградской области" /><!--dle_image_end-->" /> Изменено 13 февраля 2016 пользователем radrigo Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 13 февраля 2016 Рассказать Опубликовано: 13 февраля 2016 8 минут назад, radrigo сказал: Только понял что вставляется всё содержимое в мегатег. ясно. Тебе тогда к моему коду нужно ещё писать регулярное выражение, чтобы вырезалось всё, кроме ссылки на картинку. Я лично у себя в проекте использую 2 поля, в одно вставляю оригинальную, во второе превью. Поэтому в доп. полях у меня только ссылка и всё хорошо работает. я с регулярками вообще не дружу, поэтому помочь не могу Цитата Ссылка на сообщение Поделиться на других сайтах
radrigo 180 Опубликовано: 13 февраля 2016 Рассказать Опубликовано: 13 февраля 2016 Автор 4 минуты назад, odys сказал: ясно. Тебе тогда к моему коду нужно ещё писать регулярное выражение, чтобы вырезалось всё, кроме ссылки на картинку. Я лично у себя в проекте использую 2 поля, в одно вставляю оригинальную, во второе превью. Поэтому в доп. полях у меня только ссылка и всё хорошо работает. я с регулярками вообще не дружу, поэтому помочь не могу Ясно, печаль конечно. Спасибо что пытался помочь. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.