Opencart dynamic OG meta tag
мой сайт http://goo.gl/aWQnd9
В OpenCart 1.5.5.1
Я использую эти коды для динамического получения правильных изображений продукта
<meta property="og:image" content="<?php echo $thumb; ?>"/>
или
<meta property="og:image" content="<?php echo _GET['image] ?>"/>
или
<meta property="og:image" content="<?= $_GET['image'] ?>" />
Но безрезультатно. Каждый раз, когда Fb показывает логотип магазина и правильное название с правильным описанием, но когда я пытаюсь поделиться страницами продукта через addthis.com расширение, fb показывает логотип магазина вместо изображений продукта.
Что же делать?


Ответы - Opencart dynamic OG meta tag / Opencart dynamic OG meta tag

14.05.2015 08:33:09
В заголовке темы.TPL добавить:
<!-- mod og:image para FB -->
<?php if ($thumb || $images) { ?>
<meta property="og:image" content="<?php echo $thumb; ?>">
<?php } else { ?>
<meta property="og:image" content="<?php echo $logo; ?>">
<?php } ?>
<!-- mod og:image para FB -->
В заголовке controller / common/.php, сразу после: $this - > data ['name'] = $this - >>config - >>>get ('config_name'); добавить:
if (isset($this->request->get['product_id'])) {
$product_id = (int)$this->request->get['product_id'];
} else {
$product_id = 0;
}
$this->load->model('catalog/product');
$product_info = $this->model_catalog_product->getProduct($product_id);
$this->data['product_info'] = $product_info;
if ($product_info['image']) {
$this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
} else {
$this->data['thumb'] = '';
}
$this->data['images'] = array();

24.06.2019 06:19:29
Вы выполняете несколько запросов в методе, упомянутом выше. Не очень хорошая идея для выступления.
Попробуйте коды, которые я написал ниже
откройте файловую систему / библиотеку.документ.РНР
private $scripts = array (); после
private $metas = array();
имя функции: getLinks () после
public function addMeta($keyword, $value) {
$this->metas[$keyword] = array(
'keyword' => $keyword,
'value' => $value
);
}
public function getMeta() {
return $this->metas;
}
откройте файл catalog / controller / header.php и найдите $this - > document - > > getStyles ()>> after
$data['metas'] = $this->document->getMeta();
откройте файл catalog / view/theme/YOURTHEME/template/common / header.прутик и найти {% for link в links %} перед
{% for meta in metas %}
<meta property="{{ meta.keyword }}" content="{{ meta.value }}" />
{% endfor %}
и еще одна последняя операция
откройте файл catalog / product/product.php и найдите $this - > document - >>setTitle($product_info ['meta_title'])>> before
$this->document->addMeta("tiwtter", $product_info['meta_title']);
и это нормально.
Хорошего дня.