エクスプレスでフォームから複数のデータの組み合わせを追加する方法

2020年10月12日 at 18:08

使用しているバージョンは8.5.4です。

添付画像1のようなコンテンツをユーザーが制作できるような機能を提供するにあたって、エクスプレスを使って作ろうとしています。
(最初はBlock Developerを使って作ろうと思っていたのですが、どうしてもデータが入れ子の入れ子になってしまうのを避けられなさそうだったので、エクスプレスが使えるか調査しています)

「各工程のタイトル」「各工程の価格」のペアを、それぞれ任意の数持った事例のリストを作るため、
「事例」と「工程」のデータオブジェクトを作り、アソシエーション機能で1対多の関係で一つの「事例」に複数の「工程」を登録できるようにしたいと思っています。
添付画像2,3のように「事例」の登録フォームに紐付けて追加済みの「工程」をチェックボックス選択することができるようにはなりました。

しかし各「工程」の価格は「事例」によってまちまちで、使い回しが効かないため、ユーザーが「事例」を追加するときに毎回新規の「工程」を複数作って追加することになるかと思います。
この際に、「事例」を追加するときに同一フォーム上で新規の「工程」を追加することはできないでしょうか?
新規「事例」を追加するとき、「工程」をその数だけ毎回新規で作って紐付けないといけないのはユーザーにとってかなり酷な作業かと思っています。

もしくは、こういった用途にはエクスプレスのアソシエーションは不向きで、もっといい作り方があるようでしたら教えていただけると幸いです。
よろしくお願いします。

タグ:

Re: エクスプレスでフォームから複数のデータの組み合わせを追加する方法

2020年10月12日 at 19:22
あくまで私が対応するならという参考としてですが、
正攻法でやるなら、専用のカスタム属性タイプを開発します。
http://documentation.concrete5.org/developers/attributes/creating-custom-attribute-types/extending-a-core-attribute-type

簡易に実現するなら、CKEditorにコンテンツテンプレートボタンを足して、表がさっと入れられるようにして、あとはエディタで頑張ってもらいます。
http://github.com/concrete5cojp/addon_ckeditor_templates
 

Re: エクスプレスでフォームから複数のデータの組み合わせを追加する方法

2020年10月12日 at 19:39
なるほど、なかなか遠い道のりですね…。
今回は見た目だけ作れるようになればいいので、エディタのコンテンツテンプレートで作ろうと思います。
ご返信ありがとうございます。