Drupal 6视图页面像每个节点的按钮

时间:2011-12-19 19:53:00

标签: facebook drupal drupal-6 drupal-views

我目前有一个视图页面,显示包含每个节点的图像或视频的字段。我也在利用colorbox查看每个图像和视频。

我的目标: 在视图的每个节点上添加一个like按钮。 facebooks墙上的帖子需要链接回视图页面(这是它开始变得复杂的地方)将动态打开colorbox(目前我的优先级列表上的最后一个)

我使用了http://drupal.org/project/fb_social,它可以很好地处理视图,但是og:url会回到http://localhost:8888/node/100。我可以沿着这条路走下去,但我需要更精细的控制该网址。

我还发现了这篇文章:drupal views facebook like button 这有点模糊。如果我只是将类似按钮代码添加到视图自定义域中,则所有视图都会反复复制按钮实例。如果我在节点/ 4上单击一次,那么页面上的所有其他节点也会被喜欢...

我非常喜欢Facebook社交插件集成模块,但它开箱即用,它指向完整的节点页面。有关如何自定义该URL的任何建议?我甚至考虑过使用路径重定向模块,但我认为它不是一个可行的解决方案。

设定: Drupal 6.22 视图6.x-3.0-rc3 fb社交插件6.x-1.0-beta9

1 个答案:

答案 0 :(得分:0)

最简单的方法是覆盖特定视图的模板,同时避免额外模块加载的额外开销。您希望将Facebook(如js代码)添加到页面顶部某处(例如,在视图标题中)(来自:http://developers.facebook.com/docs/reference/plugins/like/

<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_GB/all.js#xfbml=1&appId=132294920190866";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

然后在每个行的特定行模板中添加输出代码

<div class="fb-like" data-href="http://localhost:8888/myurl" data-send="true" data-width="450" data-show-faces="true"></div>

对于主题行模板,请查看视图2主题指南:

http://drupal.org/node/352970

或尝试使用语义视图模块,如果您希望进行更多主题,或者不想弄乱模板文件:

http://drupal.org/project/semanticviews

相关问题