Facebook评论插件

时间:2015-01-06 18:38:51

标签: php html5 loops plugins facebook-php-sdk

我试图将facebook评论插件添加到一个简单的照片库的每张图片但是当我将它添加到循环时它似乎不起作用,这里是页面的代码:

`                         Affichages     

</head>


<body>

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


<?php
$folder = 'img/';
$filetype = '*.*';
$files = glob($folder.$filetype);
$count = count($files);

$sortedArray = array();
for ($i = 0; $i < $count; $i++) {
$sortedArray[date ('YmdHis', filemtime($files[$i]))] = $files[$i];

}

 krsort($sortedArray);
  echo '<table>';
 foreach ($sortedArray as &$filename) {
 #echo '<br>' . $filename;
 echo '<tr><td>';
 echo '<a name="'.$filename.'" href="#'.$filename.'"><img src="'.$filename.'" /></a>';
  echo substr($filename,strlen($folder),strpos($filename, '.')-strlen($folder));
 echo '</td></tr>';
 }
 echo '</table>';
 ?>
 </body>
</html>`
谢谢你的时间! :)

1 个答案:

答案 0 :(得分:0)

我没有看到在循环中添加类似按钮的任何代码。所以没有什么可以渲染的。

首先,您应该配置Javascript SDK并将其链接到您的Facebook页面/应用程序。

要配置Javascript SDK,您需要添加类似

的内容
<script>
      window.fbAsyncInit = function() {
        FB.init({
          appId      : 'your-app-id',
          xfbml      : true,
          version    : 'v2.1'
        });
      };

      (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";
         fjs.parentNode.insertBefore(js, fjs);
       }(document, 'script', 'facebook-jssdk'));
    </script>

此代码详细here,但会将您的网站链接到您的应用程序,并配置SDK以在页面上查找Facebook社交插件。

然后你需要为Javscript SDK添加占位符元素来解析和渲染,如下所示:

foreach ($sortedArray as &$filename) {
    #echo '<br>' . $filename;
    echo '<tr><td>';
    echo '<a name="'.$filename.'" href="#'.$filename.'"><img src="'.$filename.'" /></a>';
?>
<div class="fb-like" data-href="<?php echo $imageUrl; ?>" data-layout="button" data-action="like" data-show-faces="true" data-share="false"></div>
<?php
    echo substr($filename,strlen($folder),strpos($filename, '.')-strlen($folder));
    echo '</td></tr>';
}

这些div具有特殊属性,SDK将识别并用于在正确的位置呈现类似的按钮。

您应该阅读文档here