好的,任务完成了。 我只使用了六个(或七个:-P)部分:
- 首先,我创建了一个新的文本字段名为 facebook_direction的内容类型。
- 其次,我收到了Facebook Developers给出的facebook脚本。
- 第三,我写了一些PHP代码,用于获取有关当前节点 的信息并处理与节点关联的字段值。
- 第四,我使用PHP 代码更改了片段中的URL值,以便从每个节点获取每个Facebook页面。
第五,我在Drupal站点,名为“Facebook的 流部件”
第六取得了新的自定义块,我已经插入自定义块体的代码与PHP 主编活跃,标志着块仅限于种类 “公司”的内容类型。
地址:我确信,只有Facebook构件视图中创建是且仅当节点已经完成了现场的Facebook方向。否则,小部件不会生成(line if(!is_null($ direction))),所以它不显示为空。
下面是代码和正常工作:从塞维利亚
<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/es_ES/sdk.js#xfbml=1&version=v2.10";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<?php
$field = 'field_facebook_direction';
$node = menu_get_object();
$items = field_get_items('node', $node, $field);
$direction = $items[0]['value'];
if (!is_null($direction)) {
?>
<div class="fb-page" data-adapt-container-width="true" data-hide-
cover="false" data-href="<?php
echo $direction;?>" data-show-facepile="false" data-small-
header="false" data-tabs="timeline">
<blockquote cite="<?php echo $direction;?>" class="fb-xfbml-parse-
ignore">
<a href="<?php echo $direction;?>">Facebook Stream</a></blockquote>
</div>
<?php
}
?>
问候! :-)
丢掉模块,并且只需将必要的FB代码放置在此节点类型的自定义模板中...? – CBroe
每个客户端都将是创建其公司配置文件的drupal编辑器用户。要求他们生成代码并插入代码并不直观。最好自动做到这一点:通过表单中的字段请求链接到Facebook页面,然后将其插入到窗口小部件设置中,但我不知道这是否可能: -/ – davidjguru
谁说过让他们这样做?你对每个公司使用不同的模板,或者是什么?并且添加另一个字段到您的自定义节点类型应该不是真正的挑战。 – CBroe