Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FacebookLike按钮,用于喜欢索引/列表页面上的单个内容项_Facebook - Fatal编程技术网

FacebookLike按钮,用于喜欢索引/列表页面上的单个内容项

FacebookLike按钮,用于喜欢索引/列表页面上的单个内容项,facebook,Facebook,我们希望实现一个包含内容项列表的页面,显示每个内容项的标题和摘录。我们希望在每个内容项旁边都有一个Like按钮,单击该按钮时,“喜欢”单个项,而不是索引页 我们在其他地方看到过这种实现(以前在他们的主页上是Mashable.com),但是使用标准实现我们无法让它工作。有人有什么建议吗 我们正在使用PHP/Symfony 注:我不是一名程序员,所以这个问题不是用技术语言提出的——不过,任何答案都会传递给能够理解它们的程序员 您只需在页面上的每个like按钮上设置href属性。比如说, <sc

我们希望实现一个包含内容项列表的页面,显示每个内容项的标题和摘录。我们希望在每个内容项旁边都有一个Like按钮,单击该按钮时,“喜欢”单个项,而不是索引页

我们在其他地方看到过这种实现(以前在他们的主页上是Mashable.com),但是使用标准实现我们无法让它工作。有人有什么建议吗

我们正在使用PHP/Symfony


注:我不是一名程序员,所以这个问题不是用技术语言提出的——不过,任何答案都会传递给能够理解它们的程序员

您只需在页面上的每个like按钮上设置href属性。比如说,

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:like href="http://www.example.com/item1"></fb:like>
<fb:like href="http://www.example.com/item2"></fb:like>
<fb:like href="http://www.example.com/item3"></fb:like>

如果每个按钮都有自己的href,则每个按钮将独立运行。如果未包含href,则“喜欢”按钮假定您喜欢当前查看的页面

此外,您应该在每个url上实现OpenGraph协议。这里我指的是like按钮href中的url,而不是like按钮所在的页面。您可以在此处阅读:

这很简单。您只需将元标记添加到页面标题,如下所示:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://opengraphprotocol.org/schema/"
      xmlns:fb="http://www.facebook.com/2008/fbml">
  <head>
    <title>The Rock (1996)</title>
    <meta property="og:title" content="The Rock"/>
    <meta property="og:type" content="movie"/>
    <meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
    <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
    <meta property="og:site_name" content="IMDb"/>
    <meta property="fb:admins" content="USER_ID"/>
    <meta property="og:description"
          content="A group of U.S. Marines, under command of
                   a renegade general, take over Alcatraz and
                   threaten San Francisco Bay with biological
                   weapons."/>
    ...
  </head>
  ...
</html>

岩石(1996)
...
...

在每个内容后面放上:

  <div class="fb-like" data-href="unique_url_here_for_the_content" data-send="true" data-layout="button_count" data-width="100" data-show-faces="true"></div>

将“内容的唯一url”替换为内容的实际url

要修改数据-*属性,请转到类似fb的插件页面

当然,你需要在身体标签后面用这个

 <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>

(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/all.js#xfbml=1”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);

假设这只适用于类似文章的内容。文章和文章的页面URL。我不能只在一个页面上共享一块内容,当我尝试。。。我得到一个使用自定义ID找不到的URL。实际上没有页面,只是页面上的内容与其他内容。