Facebook Like按钮,用于索引索引/列表页面上的各个内容项

时间:2010-10-26 10:23:19

标签: facebook

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

我们已经看到这在其他地方实施(以前是Mashable.com,在他们的主页上),但是使用标准实现我们无法使其工作。有人有任何提示吗?

我们正在使用PHP / Symfony。

注意:我不是程序员所以这个问题不是用技术语言构建的 - 但是任何答案都会传递给能够理解它们的程序员。

2 个答案:

答案 0 :(得分:9)

您只需在页面上的每个相似按钮上设置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,则类似按钮假定您喜欢当前正在查看的页面。

此外,您应该在您喜欢的每个网址上实施开放图形协议。我的意思是你喜欢按钮的href中的url,而不是像按钮一样的必然页面。你可以在这里阅读:http://developers.facebook.com/docs/opengraph

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

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

答案 1 :(得分:0)

在每个内容之后加上:

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

将“unique_url_here_for_the_content”替换为内容的实际网址

修改数据 - * atrribute请转到fb,如插件页面here

并且你需要在身体标签

之后使用它
 <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>