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显示商店徽标而不是产品图片。
怎么办?
答案 0 :(得分:3)
在你的主题header.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 / header.php中,紧跟在:$ this-&gt; data ['name'] = $ this-&gt; config-&gt; 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();
答案 1 :(得分:0)
您可以使用上述方法执行多个查询。性能不是一个好主意。
尝试我在下面编写的代码
打开文件 system / library.document.php
私有$ 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() >
$data['metas'] = $this->document->getMeta();
打开文件 catalog / view / theme / YOURTHEME / template / common / header.twig ,然后找到 {%链接中的链接%}
{% for meta in metas %}
<meta property="{{ meta.keyword }}" content="{{ meta.value }}" />
{% endfor %}
最后一项操作
打开文件 catalog / product / product.php 并找到 $ this-> document-> setTitle($ product_info ['meta_title'])之前
$this->document->addMeta("tiwtter", $product_info['meta_title']);
没关系。
祝你有美好的一天。