【问题标题】:Setting up Facebook Page Plugin for every node on Drupal为 Drupal 上的每个节点设置 Facebook 页面插件
【发布时间】:2017-08-29 16:39:28
【问题描述】:

我正在尝试设置 Drupal 7 Facebook 页面插件模块,一切正常,运行良好。

我的问题是:我不需要整个网站的唯一小部件。我需要 N 个 Facebook PagePlugin 小部件来显示在特定内容类型的 M 个节点中。我有一个内容类型“公司”,我需要在公司创建的每个配置文件中,此小部件的配置都可以分段方式使用。 (1 个节点“公司”= 1 个 facebook 页面插件小部件)。

有没有办法为每个节点执行此操作?每个节点是否显示来自 Facebook 页面插件配置的临时块?

代码?网站建设?

大家好

【问题讨论】:

  • 扔掉模块,只需将必要的 FB 代码放在该节点类型的自定义模板中...?
  • 每个客户都是创建公司资料的 drupal 编辑器用户。要求他们生成代码并插入它是不直观的。最好自动执行:通过表单中的字段请求到 Facebook 页面的链接,然后将其插入到小部件设置中,但我不知道这是否可能:-/
  • 谁说过让他们这样做?您是否为每个公司使用不同的模板,还是什么?向您的自定义节点类型添加另一个字段应该不是一个挑战。

标签: facebook drupal drupal-7 drupal-modules


【解决方案1】:

好的,任务完成。 我只使用了六个(或七个:-P)部分:

  1. 首先,我为名为的内容类型创建了一个新文本字段 facebook_direction。
  2. 其次,我得到了Facebook Developers给出的facebook脚本。
  3. 第三,我写了一些PHP代码来获取当前节点的信息 并处理与节点关联的字段值。
  4. 第四,我用 PHP 更改了 sn-p 中的 URL 值 从每个节点获取每个 facebook 页面的代码。
  5. 第五,我在我的 Drupal 站点中创建了一个新的自定义块,称为“facebook 流小部件”

  6. 六、我已经用 PHP 在自定义块体中插入了代码 编辑器处于活动状态,将块标记为仅用于种类的内容类型 “公司”。

添加: 我确保只创建 Facebook 小部件视图,并且仅当节点完成其字段 facebook 方向时。否则,不会生成小部件(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
}

?>

来自塞维利亚的问候! :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2015-10-08
    • 2020-05-12
    • 2015-09-08
    相关资源
    最近更新 更多