2017-08-29 5 views
0

Drupal 7 Facebook Page Pluginモジュールをセットアップしようとしていますが、すべて正常です。DrupalのすべてのノードのFacebookページプラグインを設定する

私の問題はこれです:ウェブサイト全体にユニークなウィジェットは必要ありません。特定のコンテンツタイプのM個のノード内にN個のFacebook PagePluginウィジェットを表示する必要があります。私はコンテンツタイプが "企業"であり、会社の各プロファイルでそれを必要とするので、このウィジェットの設定はセグメント化された方法で利用できます。 (1ノード "company" = 1 facebook pageプラグインウィジェット)。

各ノードでこれを行う方法はありますか?各ノードは、facebook pageプラグインからアドホックに設定されたブロックを表示しますか?

コード?サイト構築?

すべてのお客様へのご挨拶

+0

モジュールを捨てて、このノードタイプのカスタムテンプレートに必要なFBコードを置きます。 – CBroe

+0

各クライアントは、会社プロフィールを作成するDrupalエディタユーザになります。コードを生成して挿入するように指示するのは直感的ではありません。自動的にそれを行うには:フォームのフィールドを介してFacebookのページへのリンクを要求し、それをウィジェットの設定に挿入しますが、これが可能かどうかわかりません: -/ – davidjguru

+0

誰かがそれをすることについて何か言った?それぞれの会社に異なるテンプレートを使用していますか、それとも何ですか?カスタムノードタイプに別のフィールドを追加することは本当に難しいことではありません。 – CBroe

答えて

0

は、私が唯一の6(または7 :-P)の部品を使用:

  1. まず、私は facebook_directionと呼ばれるコンテンツタイプの新しいテキストフィールドを作成しました。
  2. 第二に、私はFacebook Developersによって与えられたfacebookスクリプトを得ました。
  3. 第3に、現在のノード に関する情報を取得し、ノードに関連付けられたフィールド値を処理するためのPHPコードを書きました。
  4. 第4に、PHP コードのスニペットからURL値を変更して、すべてのノードのすべてのFacebookページを取得しました。
  5. 第五に、私は「Facebookの ストリームウィジェット」と呼ばれる、私のDrupalサイトで新しいカスタムブロックを作っ

  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 
} 

?> 

挨拶セビリアから! :-)

関連する問題