Помощь Социальные кнопки. Не правильно подхватывает изображение.

Вам же поделиться ссылкой на товар и именно фото товара указать? Верно?
Вам правильно и говорят... В шаблоне вывода товара нужно добавить строку, которая будет выводить мета-тэги <meta property="og:image" content="Для просмотра ссылки Войди или Зарегистрируйсяпуть/здесь_имя_картинки.jpg"/>
Сейчас же у вас vk берет все картинки со страницы товара и поэтому их там 30-40 штук. Укажите явно необходимое фото либо в ссылке "Поделиться ВК" - Для просмотра ссылки Войди или Зарегистрируйся'ссылка_на_фото_товара_указать_здесь'...
либо в мета-тэге. :hi:
Ага, и так 5.000 изображений указать для каждой карточки товара, рехнуться можно o_O.
 
Ага, и так 5.000 изображений указать для каждой карточки товара, рехнуться можно o_O.
Да нет же - править только 1 страницу (которая формирует все карточки товара и картинки) - вы же с CMS работаете, а не с html сайтом...
 
Последнее редактирование:
Да нет же - править только 1 страницу (которая формирует все карточки товара и картинки) - вы же с CMS работаете, а не с html сайтом...
Он же пишет - ссылка_на_фото_товара_указать_здесь, фотографий товаров 5.000, значит и ссылок тоже 5.000 будет, или я опять не так понимаю?
С метатегами тоже самое - <meta property="og:image" content="Для просмотра ссылки Войди или Зарегистрируйсяпуть/здесь_имя_картинки.jpg"/>. Здесь_имя_картинки.jpg - это значит, что нужно все 5.000 имен указать, они ведь разные все?
 
Здесь_имя_картинки.jpg - это значит, что нужно все 5.000 имен указать, они ведь разные все?
Че то вы вообще запарились, от жары наверно))
Если через форму Вконтакте вручную указывать, то не знаю не сталкивался пока, но возможно там действительно придется все 5000 имен указывать.
Но с метатегами то у вас в чем загвоздка? Вам же писали что их надо вставлять в шаблоне вывода товара, т.е. в файле product_default.php , в нем же есть весь готовый код пути к картинкам.
Вместо этого:
<meta property="og:image" content="Для просмотра ссылки Войди или Зарегистрируйсяпуть/здесь_имя_картинки.jpg"/>
Вставляете это:
<meta property="og:image" content="<?php print $this->image_product_path?>/<?php print $image->image_name;?>"/>
И CMS сама за вас для всех 5000 картинок метатеги пропишет.
 
Мой пример выше наверно все же не совсем корректный, он в meta пропишет названия всех средних картинок, за исключением full, thumb и всех остальных которые есть на странице товара. Это уже хорошо, но не совсем то что надо.
Чтобы только для одной картинки meta прописывалось нужно в файле product_default.php сделать следующее:

В самом верху сразу после defined('_JEXEC') or die вставьте строку:
PHP:
$document = JFactory::getDocument();
$mainImage = true;

Внутри тега <img> где у вас среднего размера картинки выводятся вставьте:
PHP:
<?php if ($mainImage) : ?>
    itemprop="image"
    <?php $document->addCustomTag('<meta property="og:image" content="' . $this->image_product_path . '/' . $image->image_name . '">'); ?>
    <?php $mainImage = false; ?>
<?php endif; ?>

Если у вас есть зависимые атрибуты со своими картинками товаров которые меняются при клике на атрибут, тогда тоже самое нужно проделать еще и в файле block_image_middle.php

Этот код я взял из шаблона Для просмотра ссылки Войди или Зарегистрируйся за что ему огромное спасибо.
 
Сейчас в J! есть встроенная возможность выводить метатеги не через addCustomTag, а через setMetaData, они тогда в самый верх выводятся как и положено. Таким образом вышеприведенный код правильнее теперь писать так:
PHP:
<?php if ($mainImage) : ?>
    itemprop="image"
    <?php $document->setMetaData( 'og:image', $this->image_product_path . '/' . $image->image_name ); ?>
    <?php $mainImage = false; ?>
<?php endif; ?>
Аналогично выводятся и все остальные метатеги какие вам надо.
Что интересно J! понимает opengraph, если написать именно 'og:image' то вывод будет property="og:image", а если написать просто 'image' без og: то вывод будет name="image". То есть понимает когда нужно property вывести, а когда name. Фантастика))
 
Назад
Сверху