Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » В соц. сети передаёт не ту картинку

В соц. сети передаёт не ту картинку


     17.11.2013    Все вопросы » Модули    3701

вопрос
Я поставил на сайт dle кнопки share 42 а они работают не коректно ! В социальные сети передаётся верхний банер а не картинка новости! ВОТ САЙТ А на другом сайте всё работает нормально ВОТ САЙТ Помогите пожалуйста решить проблему!

Ответил: Pan_Oleksandr


Я использую вот такой код
<link rel="image_src" href="[xfvalue_poster]">

Жывой пример: Клик

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

Serik
Местный

Serik - 17 ноября 2013 19:03 -

картинки же листаться должны вправо-влево
у меня тоже не первую берет - я листаю до нужной

СПАСИБО надо тыкать в кнопку!

xeon01
Юзер

xeon01 - 17 ноября 2013 19:12 -

Гугли на тему разметки страниц.

Webstrannik
Юзер

Webstrannik - 18 ноября 2013 07:13 -

после открывающегося тега <body> сразу вставь div
<div style="display:none"><img src="/templates/my_templates/image/my_image.png" alt=""/></div>

и прикручивай нужную тебе картинку, дело в том что берется первая картинка по коду не привышающая определенных размеров (точно каких уже не скажу, позабыл) сделай 220x60 и погляди, должно получиться

a.mushta
Юзер

a.mushta - 18 ноября 2013 11:06 -

Этот вариант работает но не совсем то что мне нужно!
<div style="display:none"><img src="/templates/my_templates/image/my_image.png" alt=""/></div>


Вот я нашол такой вариант картинки берутся из полной новости и вставляется в соц. сети!

1. Открыть index.php, найти строку:
$tpl->set ( '{headers}', $metatags."\n".$js_array );


и заменить ее на:
$tpl->set('{headers}', $metatags . $opengraph ."\n". $js_array);



2. Открыть /engine/modules/show.full.php, найти строку:

$tpl->set( '{full-link}', $full_link );


и после нее вставить:

$opengraph .= <<<HTML

    <meta property="fb:app_id" content="полученный app_id" />
    <meta property="og:type" content="article" />
    <meta property="og:url" content="$full_link" />
    <meta property="og:title" content="{$row['title']}" />
HTML;



3. Найти строку:
$row['full_story'] = stripslashes($row['full_story']);


и ниже добавить:

    preg_match_all('/<img[^>]*src=["\\\']?([^"\\\' >]+\\.(jpeg|jpg|png|gif))["\\\']?\\s*[^>]*>/si', $row['full_story'], $images);

        foreach($images[1] as $key => $value) {
            $control = strstr($value, 'posts');
            $control = substr($control, 0, strpos($control, '/'));

            if ($control == 'posts') {
                $opengraph .= "\r\n" . '    <meta property="og:image" content="'. $value .'" />';
                $opengraph .= "\r\n" . '    <link rel="image_src" href="'. $value .'" />';
                if ($key == 4) break;
            }
        }

        unset($images, $key, $value, $control);

ПафНутиЙ
Админ

ПафНутиЙ - 18 ноября 2013 18:28 -

При отсутствии соответствующе разметки (opengpaph, twitter, shema,org) соцсети сами определяют какую картинку брать в качестве исходной, однако всегда есть возможность поличталь их до нужной.
В принципе ваше найденное решение правильное.

Каков вопрос - таков и ответ. Просто помните об этом.

harut.harutt.5
Юзер

harut.harutt.5 - 29 декабря 2013 19:23 -

BRAT ETO CHOTKO RABOTAYET SPASIBA))) NU YEST ODIN MALINKAYA PROBLEMA FONTI VIDNO TAK ©¬¶ µ¶ § … KAK MAGU ISPRAVIT?

BackGames
Юзер

BackGames - 11 марта 2017 21:54 -

Всё та же проблема, поставил код как тут написано, ВК норм стало работать, а вот Фейсбук ничего не изменилось( Помогите пожалуйста!)

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

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

наверх