我正在尝试将Pinterest中的"Pin it"按钮添加到我们网站上的产品详细信息页面中.
到目前为止,我已经尝试过:
<a href="http://pinterest.com/pin/create/button/?url=<?php echo trim(Mage::registry('current_product')->getProductUrl()) ?>&media;=<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(265) ?>&description;=<?php echo Mage::registry('current_product')->getName(); ?>" class="pin-it-button" count-layout="none">Pin It</a>
<script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script>
Run Code Online (Sandbox Code Playgroud)
和
<a href="http://pinterest.com/pin/create/button/?url=<?php echo trim(Mage::registry(\'current_product\')->getProductUrl()) ?>&media;=<?php echo Mage::helper('catalog/image')->init(Mage::registry('current_product'), 'small_image')->resize(900,900);?>&description;=<?php echo Mage::registry('current_product')->getName(); ?>" class="pin-it-button" count-layout="none">Pin It</a>
<script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script>
Run Code Online (Sandbox Code Playgroud)
有了这些,我可以获得产品的URL和产品名称,但我无法获得产品的图像.所以帖子不起作用(它需要所有3个项目才能工作:URL,媒体和描述)
当我尝试这个:
<a href="http://pinterest.com/pin/create/button/?url=http://eberjey.com&media;=<?php echo Mage::helper('catalog/image')->init(Mage::registry('current_product'), 'small_image')->resize(900,900);?>&description;=<?php echo Mage::registry('current_product')->getName(); ?>" class="pin-it-button" count-layout="none">Pin It</a>
<script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script>
Run Code Online (Sandbox Code Playgroud)
我可以发布产品的图像,但URL不是动态的(我只是使用网站的绝对URL).
关于如何在我的产品详细信息页面中实现此按钮的任何想法?
这里的大多数答案都不是urlencode()为pinterest链接生成的查询字符串,所以我有点惊讶他们一直在工作 - 我的方法是安德鲁的变种,使用http_build_query()来执行此操作我.
放置在template/catalog/product/view.phtml中时,以下代码可以正常工作:
<!--START PIN BUTTON-->
<?php
$_pinlink['url'] = $_product->getProductUrl();
$_pinlink['media'] = $this->helper('catalog/image')->init($_product, 'image')->__toString() ;
$_pinlink['description'] = $_helper->productAttribute($_product, $_product->getName(), 'name') . " - " . strip_tags($_product->getDescription());
?>
<a href="http://pinterest.com/pin/create/button/?<?php echo http_build_query($_pinlink) ?>" class="pin-it-button" count-layout="horizontal"></a>
<script type="text/javascript" src="//assets.pinterest.com/js/pinit.js"></script>
<!--END PIN BUTTON-->
Run Code Online (Sandbox Code Playgroud)
我还注意到Pinterest会从发布的描述中删除所有html标签,所以传递它们似乎没什么意义 - 因此描述中的条带标签.