Open Graph в битрикс

441
23 апреля 2017, 01:55

Всем привет! У меня при шаринге статьи не выводится картинка детального изображения. Что я делаю не так?

<!DOCTYPE HTML> 
<html> 
    <head> 
        <title><?$APPLICATION->ShowTitle()?></title> 
      <meta property="og:image" content="http://' . SITE_SERVER_NAME . $arResult['PREVIEW_PICTURE']['SRC'] . '"> 
        <?$APPLICATION->ShowHead();?> 
        <?$APPLICATION->ShowProperty('og-image');?> 
        <?$APPLICATION->ShowHeadStrings('<meta property="og:image" content="http://<?=SITE_SERVER_NAME?>' . $arResult["PREVIEW_PICTURE"]["SRC"] . '" />')?>  
      <script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" crossorigin="anonymous">      </script> 
      <link rel="stylesheet" type="text/css" href="/verstka/assets/css/bootstrap.min.css"> 
      <link rel="stylesheet" type="text/css" href="/verstka/assets/css/style.css"> 
        <!--[if IE]> 
      <link rel="stylesheet" type="text/css" href="<?=SITE_TEMPLATE_PATH?>/verstka/assets/css/fixIE.css"/> 
        <![endif]--> 
    </head> 
 
в result_modifier.php я вписываю:

<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); 
 
$cp = $this->__component; 
if( is_object($cp) ) 
    $cp->SetResultCacheKeys( array('DETAIL_PICTURE') ); 
 
?>

и в component_epilog.php вывожу:

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); 
 
$APPLICATION->SetPageProperty('og-image', '<met a property="og:image"' . $arResult['DETAIL_PICTURE']['SRC'] . '">'); 
 
?>

Answer 1

Думаю проблема в том что битрикс не выводит доменное имя из переменой, попробуйте в ручную вписать полный путь до картинки и ещё раз проверить дебагером

<meta property="og:image" content="http://vashsite.ru/images/share.jpg">

так же я заметил что ваша переменная $arResult['PREVIEW_PICTURE']['SRC'] показывает в сорсе как текст!! может надо просто сделать echo в PHP

<meta property="og:image" content="<?php echo $arResult['PREVIEW_PICTURE']['SRC']; ?>">
READ ALSO
COM объект перестал работать PHP

COM объект перестал работать PHP

ЗдравствуйтеНа сервере стоял "Windows NT WEB2003 5

235
Call to a member function rowCount() on boolean

Call to a member function rowCount() on boolean

PHP Fatal error: Uncaught Error: Call to a member function rowCount() on boolean in /var/www/html/indexphp:30\nStack trace:\n#0 {main}\n thrown in /var/www/html/index

351
Php, почему не окрашивает слово привет?

Php, почему не окрашивает слово привет?

Вот такой код, выводится просто слово "Привет", подскажите, что я делаю не так ?

239