玄人はそんなに使わないけど、初心者に優しいアドオンテーブルですが、よくよく見ると独自のアドオンテーブルが作れそうな雰囲気はあります。
アドオンテーブルの設定は下記にあります。
注意:今回の記事の内容を実行する場合は自己責任でお願いします。
■Windows
<drive>:\Program Files\FileMaker\FileMaker Pro 17 Advanced\DynamicTemplates
■macOS
/Applications/FileMaker Pro 17 Advanced/FileMaker Pro Advanced.app/Contents/Resources/DynamicTemplates
アドオンテーブル毎にフォルダ分けされており、中身は下記ファイル群となります。
de.xml
en.xml
es.xml
fr.xml
icon.png
icon@2x.png
info_de.xml
info_en.xml
info_es.xml
info_fr.xml
info_it.xml
info_ja.xml
info_ko.xml
info_nl.xml
info_pt.xml
info_sv.xml
info_zh.xml
it.xml
ja.xml
ko.xml
nl.xml
preview.png
pt.xml
sv.xml
template.xml
zh.xml
関係があるのは赤文字の部分。
重要な設定は「template.xml」で行われており、中身はデフォルトフィールドとよく似たXMLとなっています。
ここで思い出して欲しいのが、アドオンテーブルを配置した時に、ポータルのみだけではなくボタンやスクリプトも定義されます。
つまり、「template.xml」はテーブルやフィールドの他にもレイアウトやスクリプトも記述されています。
ざっくり分析したものが下記になります。
概要
テーブル
オカレンス
フィールド
スクリプト一覧
スクリプト個別の内容の定義
ポータルレイアウト
その他レイアウトオブジェクト(レイアウトのボタンはSVGのコードをBase64化して定義)
この辺を分析していけば独自のアドオンテーブルは作れそうですね。
「info_ja.xml」はアドオンテーブルを選択する時に出てくる情報を定義しています。
「ja.xml」は「template.xml」で定義された英語のフィールド名を日本語に置換しています。
<DynamicTemplateString>
<StringID>com.fmi.basetable.field.Notes::CreationTimestamp</StringID
<SourceText>CreationTimestamp</SourceText>
<TargetText>作成情報タイムスタンプ</TargetText>
<Comment>Fields</Comment>
</DynamicTemplateString>
タグで言うと、<StringID>の<SourceText>の内容を<TargetText>の内容で置換しています。
メモを複製して画像をと説明文を編集したものが下記となります。
ただ、デフォルトフィールドと違い、独自のアドオンテーブルを作ったとしてもそんなに便利にはならないような気もします。レイアウトも定義できるので、ポータルを作るふりして色んなレイアウトオブジェクトを配置できるようにしても面白いかなと思ったのですが、自分のテンプレートからコピペした方が早いですよね。
いいアイデアがあればお知らせください。
※この記事はシリーズです まとめページはこちら
コメント