Drupalビュー内でメンバーシップの説明フィールドを公開することはできますか

Drupal 7のCiviCRM Contact
Viewを使用してメンバー検索ページを作成しました。返される連絡先のメンバーシップタイプの説明フィールドを表示したいと思います。私はCiviCRM
Entityモジュールを見ましたが、このデータは説明を公開していないようです。どのようなアプローチを取るべきですか?

ベストアンサー

私はCiviCRM EntityプロジェクトにViews関係を追加しました。これにより、これを行うことができます。

また、サブモジュールCiviCRM Entity Views Extrasも有効にする必要があります。

2018年7月7日現在、7.x-2.x-devにあり、次のリリース(2.2)に含まれます。

2つのモジュールをインストールすると、ビューリストの連絡先に「CiviCRMメンバー:メンバーシップタイプ」というタイトルのViews
Relationshipを追加することができます。

ビューの関係が確立されると、メンバーシップタイプの説明を含むメンバーシップタイプテーブルのすべてのプロパティが、ビューに含めることができます。

インポートすることができるビューの例をエクスポートするコードは次のとおりです。

$view = new view();
$view->name = 'contact_view_with_membership_type_description';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'civicrm_contact';
$view->human_name = 'Contact View with Membership Type Description';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Contact View with Membership Type Description';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '10';
$handler->display->display_options['style_plugin'] = 'table';
/* Relationship: CiviCRM Member: Membership Type */
$handler->display->display_options['relationships']['civicrm_membership_type']['id'] = 'civicrm_membership_type';
$handler->display->display_options['relationships']['civicrm_membership_type']['table'] = 'civicrm_membership';
$handler->display->display_options['relationships']['civicrm_membership_type']['field'] = 'civicrm_membership_type';
/* Field: CiviCRM Contacts: Contact ID */
$handler->display->display_options['fields']['id']['id'] = 'id';
$handler->display->display_options['fields']['id']['table'] = 'civicrm_contact';
$handler->display->display_options['fields']['id']['field'] = 'id';
/* Field: CiviCRM Membership Type: Membership Type Description */
$handler->display->display_options['fields']['description']['id'] = 'description';
$handler->display->display_options['fields']['description']['table'] = 'civicrm_membership_type';
$handler->display->display_options['fields']['description']['field'] = 'description';
$handler->display->display_options['fields']['description']['relationship'] = 'civicrm_membership_type';
/* Filter criterion: CiviCRM Member: Membership ID */
$handler->display->display_options['filters']['id']['id'] = 'id';
$handler->display->display_options['filters']['id']['table'] = 'civicrm_membership';
$handler->display->display_options['filters']['id']['field'] = 'id';
$handler->display->display_options['filters']['id']['operator'] = 'not empty';

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'contact-view-with-membership-type-description';

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です