Как подключить изображение товара при нажатии на кнопку соц.сетей "Поделиться" ?

Тема в разделе "Общие вопросы", создана пользователем RoS, 5 сен 2015.

  1. RoS

    RoS Специалист

    Сообщения:
    221
    Симпатии:
    215
    Всем привет.

    Возникла проблема с подключением изображения товара к кнопкам социальным сетям "Поделиться", на версии 1.5.x

    В карточке товара подключил скрипт "Share pluso" и прописал настройки, чтоб подключалось нужное изображение, где data-image="<?php echo $popup; ?>" подключается большое изображение товара
    Код:
    <div data-title="<?php echo $heading_title; ?>" data-image="<?php echo $popup; ?>" class="pluso" data-background="transparent" data-options="small,square,line,horizontal,nocounter,theme=06" data-services="google,facebook,twitter,vkontakte,odnoklassniki"></div>
    В итоге получил:
    • Вконтакте - понял какое изображение брать
    • Facebook , Google+ - берет изображение заглушку
    • Одноклассники - подставляет логотип сайта

    Нашел потом код для OC:
    PHP:
    if (isset($this->request->get['product_id'])) {
                
    $this->data['product_id'] = $this->request->get['product_id'];
                
    $this->load->model('catalog/product');
                
    $product_info $this->model_catalog_product->getProduct($this->request->get['product_id']);
                
    $this->data['product_name'] = $product_info['name'];
                
    $this->data['product_url'] = $this->url->link('product/product''product_id=' $product_info['product_id']);
          
                
    $this->load->model('tool/image');
          
                if (
    $product_info['image']) {
                    
    $this->data['product_thumb'] = $server 'image/' $product_info['image'];
                } else {
                    
    $this->data['product_thumb'] = '';
                }
            } else {
                
    $this->data['product_id'] = 0;
                if (
    $this->config->get('config_logo') && file_exists(DIR_IMAGE $this->config->get('config_logo'))) {
                    
    $this->data['product_thumb'] = $server 'image/' $this->config->get('config_logo');
                } else {
                    
    $this->data['product_thumb'] = '';
                }
            }
    И между <head></head> вставил:
    HTML:
    <meta property="og:image" content="<?php echo $product_thumb; ?>" />
    <meta itemprop="image" content="<?php echo $product_thumb; ?>"/>
    <meta name="twitter:image:src" content="<?php echo $product_thumb; ?>"/>
    тут <?php echo $product_thumb; ?> - генерируется изображение товара.

    В итоге снова ни кто кроме Вконтакте не подставляет нужное изображение.

    Поменял "Share pluso" на "Share42" - такая же проблема.
    Потом решил вставить с генерированный код из самих соц сетей по отдельности, и если прописать в настройках "URL" ссылку http://МОЙ_САЙТ.com.ua/ то он предлагает выбор изображений, но с главной страницы. А когда подставляю ссылку на карточку товара, то снова тоже самое:
    • Вконтакте - понимает какое изображение брать
    • Facebook , Google+ - берет изображение заглушку
    • Одноклассники - подставляет логотип сайта
    Подскажите как решить этот вопрос, может кто сталкивался.
     
    Последнее редактирование: 16 июн 2016
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.064
    Симпатии:
    853
    мне кажется надо искать нормальный скрипт шаринга или переделывать его.
    Например возьмем доку https://developers.facebook.com/docs/sharing/reference/share-dialog
    Я не уверен что выше указанные скрипты плюс и шаре42 учли всё.. т.е и опенграф и js sdk итд.

    А в плюсо не пробовали писать? Мне кажется на их стороне проблемы, т.к все вы правильно делаете т.е и ссылку на фото даете и og метате добавляете.
     
  3. RoS

    RoS Специалист

    Сообщения:
    221
    Симпатии:
    215
    @Ravilr , скрипты оказываются не причем, это заказчики "умные!" оказались, сказано им было одно, а они так послушали и сделали по своему - по создавали папки и загрузили изображения в кириллице и с пробелами. Когда протестировал на латинице и убрал пробел, везде заработало нужным образом.
     
    optimlab и Ravilr нравится это.
  4. mmmtrade

    mmmtrade Пользователь

    Сообщения:
    82
    Симпатии:
    3
    У меня, почему-то, при нажатии "поделится" в соцсетях размещаются обрезанные изображения, менял разрешения главного изображения товара, никаких результатов? Что еще можно попробовать?
     
  5. RoS

    RoS Специалист

    Сообщения:
    221
    Симпатии:
    215
    Для каждой соц.сети свои условия по размеру изображения, читайте документацию для каждой из них.
    Вот из документации Одноклассников:
     
    mmmtrade нравится это.
  6. mmmtrade

    mmmtrade Пользователь

    Сообщения:
    82
    Симпатии:
    3
    "внутри тега <head></head> страницы указать теги og:title, og:description, og:imageи og:video, которые подскажут грабберу, какой контент на странице требуется использовать."
    это в файле product.tpl?
     
  7. RoS

    RoS Специалист

    Сообщения:
    221
    Симпатии:
    215
    В header.tpl между <head></head> прописываете те теги которые Вам нужны:
    • og:title
    • og:description
    • og:image
    • og:video
    • или другие
    А через контролер header.php уже проверяете какая страница и какая информация будет подставляться.

    Но на обрезание изображения, это может не повлияет.
     
    Последнее редактирование: 21 сен 2015
    mmmtrade нравится это.