Listviewdefs
出典: SugarForum.jp
一覧表示(ListView)の画面設計は、各モジュールに配置されるlistviewdefs.phpで行います。項目の表示/非表示設定、ソート設定や、リンクの指定など。
目次 |
定義の場所
SugarRoot/modules/@モジュール名/metadata/listviewdefs.php
配列のキー
配列のキーは、オブジェクト変数を大文字にしたもの。
例えば、'RESERVED_TIME'は $bean->reserved_time を参照している。必ずしも、vardefs.phpで定義されている必要はない。
指定可能なオプション
ACLTag
link属性を指定した場合に、指定する。例えば、Accountsモジュールであれば「ACCOUNT」
align
- left: デフォルト。左揃え。
- right: 右揃え。(数値は右揃えが見易い)
contextMenu
コンテキストメニュー。
currency_format
- currency_format.round : 丸める桁(小数点以下の桁数)を指定
- currency_format.decimals : 表示する桁(小数点以下の桁数)を指定
- currency_format.convert : 通貨変換をするかどうか
- currency_format.currency_symbol : 通貨シンボル
※詳細は modules/Currencies/Currency.php の、format_number()関数を参照。
customCode
カスタムコード。
default
- false: デフォルト
- true: ユーザのカスタマイズなしに表示される。
id
デフォルトは対象レコードのID。link属性を指定した場合など、module属性と合わせて、任意のIDを指定することも可。
label
言語データを指定する。例: LBL_LIST_POINT
多くの場合、一覧ヘッダは通常のフィールド名ではなく短縮形が使われる。例えば、LBL_POINT='総合ポイント' だと6文字使ってしまうが、LBL_LIST_POINT='Pt' などとすれば、横幅を取らずにすむ。(長い英語の場合、より短縮形を使う傾向が強い)
link
- false: デフォルト
- true: 表示するテキストにアンカータグがつく。デフォルトのジャンプ先は対応するレコードの詳細ビュー。合わせて、module属性や id属性を指定すると他モジュールにもジャンプ可能。
module
デフォルトは対象レコードのモジュールディレクトリ名称。link属性を指定した場合など、id属性と合わせて、任意のモジュール名を指定することも可。
orderBy
「'source'=>'non-db'」としているフィールドの場合、データベース上のどのフィールドをキーにソートするかを指定する必要がある。
related_fields
関連フィールドを配列で指定する。 vardefs.phpで「'source'=>'non-db'」としているフィールドの場合、データベースから直接取得できないため関連フィールドを指定する必要がある。その上でSugar Beanクラスのget_list_view_data関数などで、内容を補完すること。例: Contactsのfull_nameなど。
sortable
- false: ユーザによる並べ替えをさせない。※$bean->fill_in_additional_list_fields() を使って、補完したフィールドなどは false にしておくべき。
- true: デフォルト
url_sort
ソートボタンをクリックした際に、Ajaxではなく画面遷移を伴ってソートする。unified searchのみで使用。
width
表示幅を指定する。全カラムの数値を合計して、パーセンテージに変換される。
例 : カラム毎に、4,3,7,2,3,1 が指定されていれば、20%, 15%, 35%, 10%, 15%, 5%として表示される。