web-dev-qa-db-ja.com

Facebookページへの自動投稿

Drupal for FacebookモジュールをD6とD7の両方のサイトで使用して、ストリーム経由で(グループや個人のアカウント/ウォールではなく)FBページに投稿しています。

「Facebookに投稿」チェックボックスを自動的にオンにしたい以外は問題なく動作しますonlyノードが作成されると、以降の編集ではできません。ユーザーが自分でこのチェックボックスをオンにすることはありません(ユーザーに表示したくない場合もあります)。

ルールを使用してみましたが、FB投稿アクションがないようです。

私はそれがhook_form_alterを介して行うことができると想定していますが、それでうまくいきませんでした。チェックボックスの要素IDは... fb_stream [fb_stream_do_post]

何かご意見は???

おかげで、

エリック

2
Eric Aitala

みんな、ありがとう。

現在のページURLがノード編集URLと一致する場合、「Facebookに投稿」チェックボックス(およびTwitterの1つ)を設定するフォームイベントを含むルールを作成することができました。このようにして、ノードの作成のみが行われ、その後の編集はFBに投稿されません...

最初はhook_form_alterを行うつもりでしたが、最初のRulesテストがうまくいったら、私はそれで行くと思っていました。

ルールのエクスポート>>

{ "rules_form_alter_post_to_fb" : {
    "LABEL" : "Form Alter - Article Post to FB and Twitter",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules", "rules_forms" ],
    "ON" : { "rules_forms_article_node_form_form_built" : [] },
    "IF" : [
      { "text_matches" : {
          "text" : [ "site:current-page:url" ],
          "match" : "http:\/\/www.example.com\/node\/add\/article"
        }
      }
    ],
    "DO" : [
      { "rules_forms_set_default" : {
          "form" : [ "form" ],
          "element" : "checkbox:fb_stream:fb_stream_do_post",
          "value" : 1
        }
      },
      { "rules_forms_set_default" : { "form" : [ "form" ], "element" : "checkbox:Twitter:post", "value" : 1 } }
    ]
  }
}
2
Eric Aitala

はい、あなたの例に基づいています。トグルのcheckedプロパティはHTML属性であることを思い出してください。次に、このようなことをしたいと思います:

$form_state['fb_stream']['fb_stream_do_post']['#attributes']["checked"] = "checked"

これにより、次のHTML、IIRCが生成されます。

<input type="checkbox" name="fb_stream_do_post" checked="checked" />

0
webkenny