我的网站是围绕Smarty模板构建的X-Cart 4.2.3构建的。我想找到一种方法将Facebook评论添加到我的动态产品页面(https://developers.facebook.com/docs/reference/plugins/comments/)。这些必须为每个产品页面提供唯一的URL。我找到了一个关于如何添加LIKE按钮的X-cart wiki,这是我成功完成的。这是LIKE按钮的代码:
<iframe src="//www.facebook.com/plugins/like.php?href={$php_url.url|escape:"url"}&send=false&layout=standard&width=350&show_faces=true&action=like&colorscheme=light&font=verdana&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:300px; height:80px;" allowTransparency="true"></iframe>
上面的代码与Facebook的工具吐出的代码完全相同,除了动态URL变量:{$ php_url.url | escape:“url”} 我想基本上为COMMENTS模块重复相同的过程,但是那个是严格的xfbml,而不是iframe,这会产生两个问题: 问题1:即使我将xfbml代码逐字粘贴到我的product.tpl模板中,我也无法将评论模式显示在商店的前端。 LIKE按钮的xfbml代码也会发生同样的事情。只有iframe似乎有效。 问题2:即使我解决了第一个问题,如何利用fb标签中的URL变量,因为它在URL周围有引号? 有什么想法吗? 以下是标准评论代码:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<fb:comments href="example.com" num_posts="10" width="500"></fb:comments>
答案 0 :(得分:0)
我认为你想要Smart Literal标签。您应该在JS内部打开/关闭,并且可能也会影响您的URL问题。您可以在此处查看详细信息:
答案 1 :(得分:0)
科林 你的出色表现。你解决了这个问题!这段代码实际上非常有效:
<div id="fb-root"></div>
{literal}
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
{/literal}
<fb:comments href="{$php_url.url|escape:"url"}" num_posts="10" width="730"></fb:comments>
一个小问题......评论模式有时会出现在文章的底部,有时则不会。我只在IE的最新版本中注意到了这一点。好像有时页面会完全加载,但有时它们却没有。我希望,这可能是我的问题。如果您有时间,请查看以下文章:http://horrorunlimited.com/Fresh-Blood-and-Crumpets/
迪马