パッケージのインストールに伴う属性の同時作成について

2021年3月22日 at 17:05

お世話になっております。

Concrete5 ver8.5.4 環境において現在テーマパッケージの開発を行っています。
その中でテーマで使用する属性項目をパッケージインストール時に作成する方法を調べています。

boolean型などであれば以下のサイトを参考にインストールが行えました。
http://documentation.concrete5.org/developers/attributes/working-with-attribute-keys/creating-attribute-keys-in-a-package

作成中のテーマではセレクト型(単一選択・複数選択とも)と住所型が必要になっています。
いろいろ調べたりしたのですが、属性を作成する際の「設定値(Settings)」の作り方がわからず困っています。
先ほどのサンプルコードのbooleanだと'null'で指定されいます。
$key = $category->add('boolean', $key, null, $pkg);
おそらくセレクト型では
$key = $category->add('select',$key, $settings, $pkg);
上記になるかと推測するのですが先ほどの通り'$setting'の作り方が見つけられず困っています。

ご助力よろしくお願いいたします。

タグ:

Re: パッケージのインストールに伴う属性の同時作成について

2021年3月22日 at 18:00
select属性であればSelectSettingsクラスを使います。
http://github.com/concrete5/concrete5/blob/8.5.5/concrete/src/Entity/Attribute/Key/Settings/SelectSettings.php
 

Re: パッケージのインストールに伴う属性の同時作成について

2021年4月1日 at 18:29
返信が遅くなり申し訳ありません。

SelectSettingsクラスで無事解決いたしました。

各項目についてはSelectValueOptionクラスを使うことで登録も行えました。

ありがとうございます。