web-dev-qa-db-ja.com

既存の連絡先を編集するためにcivicrmスタンドアロンプ​​ロファイルページを使用することは可能ですか?

既存の連絡先を編集するためにcivicrmスタンドアロンプ​​ロファイルページを使用することは可能ですか? DrupalフックAPIを使用して、civicrmスタンドアロンプ​​ロファイルページを変更またはオーバーライドすることもできますか?

2
Ryan G
  1. いいえ-スタンドアロンのhtmlは、dbなどからデータを取り込むなどのスマートなことを行うことができないため

  2. drupalフック経由ではありませんが、civicrmにはdrupalに似たフックシステムがあるため、civiフック経由で変更できます。

SEがQ&Aフォーラムに適した場所であると思われる場合は、以下のいくつかの質問に従って投票してください。

http://area51.stackexchange.com/proposals/77367/civicrm

ロボ

9
Donald Lobo

一般的に、以前のコメント投稿者に同意します。「civicrm/profile/edit」を使用して編集画面を実行できます。Drupal方式で管理されるスタンドアロンプ​​ロファイルの効果が必要な場合、「webform_civicrm」は通常、次のレベルです。 Civiのプロファイル画面を操作するためのフックがありますが、それらは典型的なDrupalフォームのフックとは異なります。

完全を期すために、Civiのプロファイルフックに関するリンクを追加する必要があります。私が考えることができる最も簡潔なリファレンスは:

少し密度が高いので、セクションの例をドリルダウンしてみましょう。

civicrm/profile/edit:
    CSS: form#Edit .crm-profile-name-{NAME}
    Region: profile-form-{NAME}
    Hooks: buildProfile($name), validateProfile($name), processProfile($name)

これが言うこと:ページ "/ civicrm/profile/edit?gid = X"を扱っている場合、そのプロファイルを正確にカスタマイズする方法は3つあります(他のプロファイルはありません)。 3つとも、プロファイルの{NAME}を知っている必要があります。 (これは、DBフィールド「civicrm_uf_group.name」に対応する内部名です。)

  • CSSまたはjQueryでカスタマイズするには、「form#Edit .crm-profile-name- {NAME}」のようなセレクターを使用します。 (いつものように、「ソースを表示」して、フォーム上の正確なタグを確認すると便利です。)
  • プログラムでコンテンツを追加/追加するには、「-name(プロファイル名-{NAME}」という名前の region を使用します。
  • プロファイルの処理中にコードを実行するには、hook_civicrm_buildProfile($ name)、hook_civicrm_validateProfile($ name)、またはhook_civicrm_processProfile($ name)を使用できます。

その他のCiviフックについては、wiki.civicrm.org/confluence/display/CRMDOC/Hook+Referenceを参照してください。

(注:stackexchangeは新規ユーザーからの#linksを制限するため、一部のリンクはプレーンテキストのままにしました。)

10
Tim Otten

1)「スタンドアロンプ​​ロフィールページ」の意味を明確にすることが重要です。

a)CiviCRMによって提示されたフォームを意味する場合。 example.com/civicrm/profileそして、はい。次のようにURLを作成します。.. civicrm/profile/edit&gid = 1&reset = 1ここで...は、サイトのURLでcivicrmの前に通常来るものを表し、gid = 1で、番号1をプロファイルのIDに置き換えます。これにより、ログインしているユーザーの連絡先レコードがフォームに自動入力されます。管理者であり、フォームを使用して別のユーザーを更新する場合は、&cid = 123をURLの最後に追加します(123は更新する連絡先のIDです)。 CiviMailトークンを使用して、匿名ユーザーがログインせずにレコードを更新できるようにすることもできます。

b)コピーして貼り付けることができるhtmlスニペットを意味する場合は、いいえ。 Loboが述べたように、一度貼り付けられたhtmlスニペットはログインしたユーザーに基づいて動的に変化しないため、機能しません(結局のところhtmlのみです)。

2)推奨される別のツールは、Drupal Webform-Integration module( http://drupal.org/project/webform_civicrm ))で、上記のすべてを実行できます。 drupalブロック、パネルペイン、またはノードを表示できる任意の場所に表示できる柔軟性が追加されました。これには、プロファイルフォームでは使用できない追加機能が含まれています。複数の連絡先、アクティビティの作成など.

7
Coleman