既存の連絡先を編集するためにcivicrmスタンドアロンプロファイルページを使用することは可能ですか? DrupalフックAPIを使用して、civicrmスタンドアロンプロファイルページを変更またはオーバーライドすることもできますか?
いいえ-スタンドアロンのhtmlは、dbなどからデータを取り込むなどのスマートなことを行うことができないため
drupalフック経由ではありませんが、civicrmにはdrupalに似たフックシステムがあるため、civiフック経由で変更できます。
SEがQ&Aフォーラムに適した場所であると思われる場合は、以下のいくつかの質問に従って投票してください。
http://area51.stackexchange.com/proposals/77367/civicrm
ロボ
一般的に、以前のコメント投稿者に同意します。「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」に対応する内部名です。)
その他のCiviフックについては、wiki.civicrm.org/confluence/display/CRMDOC/Hook+Referenceを参照してください。
(注:stackexchangeは新規ユーザーからの#linksを制限するため、一部のリンクはプレーンテキストのままにしました。)
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ブロック、パネルペイン、またはノードを表示できる任意の場所に表示できる柔軟性が追加されました。これには、プロファイルフォームでは使用できない追加機能が含まれています。複数の連絡先、アクティビティの作成など.