为Drupal上的每个节点设置Facebook页面插件

时间:2017-08-29 16:39:29

标签: facebook drupal drupal-7 drupal-modules

我试图设置Drupal 7 Facebook页面插件模块,一切正常,它运行正常。

我的问题是:我不需要整个网站的独特小部件。我需要N个Facebook PagePlugin小部件才能在特定内容类型的M个节点中显示。我有一个内容类型"公司"我需要在公司创建的每个配置文件中,这个小部件的配置以分段方式提供。 (1个节点"公司" = 1个facebook页面插件小部件)。

有没有办法为每个节点执行此操作?每个节点是否显示ad-hoc配置的Facebook页面插件中的块?

码?网站建设?

向所有人致意

1 个答案:

答案 0 :(得分:0)

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

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

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

  7. 添加:我确保只创建了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
    }
    
    ?>
    

    塞维利亚的问候! :-)