サブパネル上部のボタンをカスタマイズする

出典: SugarForum.jp

サブパネル上部に表示するボタンの指定は、

  • 親モジュールのサブパネル定義
  • 子モジュールのサブパネル定義

のいずれかに、記述することができます。

目次

指定できるボタンの種類

指定できるボタンは

  • SubPanelTopCreateButton
  • SubPanelTopButtonQuickCreate
  • SubPanelTopSelectButton

などです。下記のように、widget_classにボタンの種類を指定すればOKです。

array('widget_class' => 'SubPanelTopButtonQuickCreate')

オブションの設定が必要な場合は、下記のように複数の項目が続くこともあります。

array('widget_class' => 'SubPanelTopSelectButton', 'mode'=>'MultiSelect')

ボタンのカスタマイズ

ボタンは、SugarWidgetとして用意されているので、ウィジェットを新たに作成されば、独自のボタンを配置することも可能です。

SugarRoot/include/generic/SugarWidget/

内に多数のウィジェットがあるので、それを参考にしましょう。

も参考にしてください。


設定ファイル

親モジュールで指定する場合

SugarRoot/modules/@親モジュール名/metadata/subpaneldefs.php

のサブパネル定義内、top_buttons の部分で指定します。

$layout_defs['@親モジュール名'] = array(
  'subpanel_setup' => array(
    'contacts' => array(
      'module' => '@子モジュール名',
      ...省略...
      'top_buttons' => array(
        array('widget_class' => 'SubPanelTopButtonQuickCreate'),
        array('widget_class' => 'SubPanelTopSelectButton', 'mode'=>'MultiSelect')
      ),
    ),
  ),
);

子モジュールで指定する場合

SugarRoot/modules/@子モジュール名/metadata/subpanels/@サブパネル名.php

のサブパネル定義内、top_buttons の部分で指定します。

$subpanel_layout = array(
  'top_buttons' => array(
    array('widget_class' => 'SubPanelTopCreateButton'),
    array('widget_class' => 'SubPanelTopSelectButton', 'popup_module' => '@子モジュール名'),
  ),
  'where' => "",
  'list_fields' => array(
    'object_image'=>array(
      'widget_class' => 'SubPanelIcon',
      'width' => '2%',
    ),
    'first_name'=>array(
      'name'=>'first_name',
      'usage' => 'query_only',
    ),
    ...省略...
  ),
);

最終更新 03:13, 2009年7月19日 (日)。   このページは 2,107 回アクセスされました。