[Помогите] Кнопки поделиться в соц. сетях - не правильное изображение

Тема в разделе "OpenCart", создана пользователем delamer, 3 фев 2013.

  1. delamer

    delamer

    Регистрация:
    19 дек 2012
    Сообщения:
    100
    Симпатии:
    56
    На странице товара, под информацией о товаре стоят кнопки социальных сетей - поделиться.
    Использую для этого код предлагаемые Яндекс API.

    При нажатии на кнопку поделиться, например Вконтакте или Фэйсбуке - подгружается совсем не картинка товара, а какая-либо другая картинка со страницы. Или же все картинки категории.

    Уже итак пробовал и сяк. Никак не получается исправить.

    Подскажите пожалуйста, что делать?

    Возможно, дело в тегах Open Graph протокола. Но куда их вставить? И как? И какие?
     
  2. Toliamba

    Toliamba

    Регистрация:
    27 янв 2013
    Сообщения:
    191
    Симпатии:
    44
    Пользуюсь вот этим... полет нормальный
     
  3. Sandu

    Sandu

    Регистрация:
    25 дек 2012
    Сообщения:
    6
    Симпатии:
    0
    какая версия стоит Opencart?
     
  4. SpresscodE

    SpresscodE

    Регистрация:
    2 ноя 2012
    Сообщения:
    258
    Симпатии:
    58
    Проверте код на выходе - тоесть при нажатии на иконку - Вся проблема может быть там... Например рандомный товар или картинка
     
  5. alex5151

    alex5151

    Регистрация:
    15 ноя 2012
    Сообщения:
    165
    Симпатии:
    26
    При нажатии на кнопку поделиться, социалки берут первые попавшиеся img со страницы. для вывода нужной картинки, в <head> надо вставить
    Код:
    <meta property="og:image" content="#"/>
    где # ссылка на нужную картинку.
     
  6. delamer

    delamer

    Регистрация:
    19 дек 2012
    Сообщения:
    100
    Симпатии:
    56
    1.5.1.3


    Ну вот я о том же, но что вставить вместо #? Я же не буду прописывать картинку для каждого товара.
    Пытался вставить что-то типа:
    <meta property="og:image" content="<?php echo $thumb; ?>"/>
    Не получилось.
     
  7. alex5151

    alex5151

    Регистрация:
    15 ноя 2012
    Сообщения:
    165
    Симпатии:
    26
    в контроллер хедера прописать

    PHP:
        $default_image 'линк на картинку по умолчанию';
        if (isset(
    $this->request->get['product_id'])) {
            
    $product_id $this->request->get['product_id'];
            
    $product_info $this->model_catalog_product->getProduct($product_id);
     
            
    $this->load->model('tool/image');
            if (
    $product_info['image']) {
                
    $this->data['og_image'] = str_replace' ''%20'$this->model_tool_image->resize($product_info['image'],100,100) );
            } else {
                
    $this->data['og_image'] = $default_image;
              }
        } else {
            
    $this->data['og_image'] = $default_image;
          }
    в шаблон хедера

    PHP:
    <?php if ($og_image) { ?>
        <meta property="og:image" content="<?php echo $og_image?>" />
    <?php ?>
    может не совсем правильно, но вроде работает.
     
  8. delamer

    delamer

    Регистрация:
    19 дек 2012
    Сообщения:
    100
    Симпатии:
    56
    Пробовал.. не получилось. Но всё равно спасибо.

    Я нашёл всё-таки решение. Простое. Теперь всё хорошо!
     
  9. Павел_Б

    Павел_Б

    Регистрация:
    12 янв 2013
    Сообщения:
    67
    Симпатии:
    6
    Какое? Мне например тоже интересно, та же проблема..
     
  10. delamer

    delamer

    Регистрация:
    19 дек 2012
    Сообщения:
    100
    Симпатии:
    56
    По совету Toliamba я решил попробовать share42.com.
    Сделав все необходимые шаги, сайт предлагает вставить код:
    PHP:
    <div class="share42init"></div>
    <
    script type="text/javascript" src="http://site.name/share42/share42.js"></script>
    Вставляем это под информацией о товаре в product.tpl, как обычно.
    В share42 есть возможность вставить дополнительный параметр изображения data-image="[image]".
    Вот им и надо воспользоваться. То есть засунуть ссылку на изображение в тег <div class="share42init"></div>
    вот так:

    PHP:
    <div class="share42init" data-image="<?php echo $thumb?>"></div>
     
    <script type="text/javascript" src="http://kosmo-shmot.ru/share42/share42.js"></script>
    В параметре src, понятное дело, вставляем url своего сайта.

     
    Павел_Б нравится это.
  11. Регина

    Регина

    Регистрация:
    25 окт 2013
    Сообщения:
    30
    Симпатии:
    0
    Еще один вопросик.
    Скрипт AddThis Button в product.tpl встречается дважды.
    1) После строки <div class="share hidden-desktop">
    и
    2) После строки <div class="share">

    Почему он встречается дважды и нужно ли его менять в первом случае?
     
  12. Ping

    Ping PingWin always win Команда форума

    Регистрация:
    29 окт 2012
    Сообщения:
    443
    Симпатии:
    301
    В стандартном шаблоне он встречается 1 раз (<div class="share">). Видимо у вас измененный шаблон.
     
  13. Регина

    Регина

    Регистрация:
    25 окт 2013
    Сообщения:
    30
    Симпатии:
    0
    У меня платный шаблон Sellya.
     
  14. Ping

    Ping PingWin always win Команда форума

    Регистрация:
    29 окт 2012
    Сообщения:
    443
    Симпатии:
    301
    Этот див можно грохнуть если он вам сильно мешает и нервирует )))
     
  15. angur

    angur

    Регистрация:
    21 окт 2013
    Сообщения:
    20
    Симпатии:
    1
    Регина, я закомментировал шаринг. Страница грузится быстрее, место используется рациональней. К сожалению шарингом никто не пользуется, а жаль.
     
  16. Регина

    Регина

    Регистрация:
    25 окт 2013
    Сообщения:
    30
    Симпатии:
    0
    А не подскажите, в каких файлах его закомментировать? И за что этот шаринг отвечает? Шаблон не рухнет если его закомментить?