Smarty tpl 中的 Facebook Like Box

Facebook Like Box in Smarty tpl

我想在 smarty tpl 文件中集成一个类似 fb 的盒子。目前只有 iframe 解决方案可以正常工作,但没有语言支持,这就是我想为盒子使用新解决方案的原因。

以下代码不会在 tpl 中呈现框:

<div class="fb-page" data-href="https://www.facebook.com/myfbpage"
data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true" data-show-posts="true">
<div class="fb-xfbml-parse-ignore">
<blockquote cite="https://www.facebook.com/myfbpage">
<a href="https://www.facebook.com/myfbpage">My Facebook Page</a></blockquote>
</div></div>

有解决办法吗?

Facebook 页面插件的语言由您页面上加载的 Facebook JS-SDK 的版本定义

<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/de_DE/sdk.js#xfbml=1&version=v2.5&appId=119010228291102";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

这将以德语呈现页面插件并且

<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/sdk.js#xfbml=1&version=v2.5&appId=119010228291102";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

将以英文呈现。

只需将 URI 中的区域设置替换为您要在此页面上使用的区域设置。