我尝试在Drupal中实现Facebook Share和Like按钮到我的网站中。但它没有从Facebook获得按钮。它只是显示我放入模块中的代码。提前谢谢..
facebook.module
<?php
function facebook_node_view($node, $view_mode, $langcode)
{
$node->content['facebook'] = array(
'#markup' => theme('facebook_add_like_button'),
);
}
function facebook_theme()
{
return array(
'facebook_add_like_button' => array('variables' => NULL),
);
}
function theme_facebook_add_like_button()
{
$output ='<div id="fb-root"></div><script src = "http://connect.facebook.net/en_US/all.js#xfbml=1&appId=657379467662635"></script><fb:like href="https://developers.facebook.com/docs/plugins/" layout="standard" action="like" show_faces="true" share="true"></fb:like>';
return $output;
}
This is the code i get from facebook developer
<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&appId=657379467662635";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<fb:like href="https://developers.facebook.com/docs/plugins/" layout="standard" action="like" show_faces="true" share="true"></fb:like>
这是因为您在主题函数中输出 html 实体(如"<")而不是实际的 HTML 代码。将"$output"变量中的所有内容替换为您从Facebook开发人员那里获得的代码,如下所示:
$output ='<div id ... share="true"></fb:like>';
而不是
$output ='<div id= ... share="true"></fb:like>';