2020-03-18

Craft CMS のマトリックスでブロックが1つの時は最小ブロック数を指定することでデフォルトでブロック表示される #craftcms

Craft 3.4.10 の Changelog をみていて。

マトリックスのブロックの最小数、最大数を指定した場合の fix があったのでみてみた。

Deleting a matrix block removes the button to add one · Issue #5781 · craftcms/cms
https://github.com/craftcms/cm...

最小ブロック数に1を指定した時の挙動

マトリックスフィールド(sampleMatrix)にブロック(image_text)が1つだけの時の場合で最小ブロック数に1を指定するとデフォルトで1つ出る状態になる。

エントリ新規作成画面

sampleMatrix のところにはあらかじめ1つブロックが設定された状態になっている。

最小数を指定しないと、まずはクリックしてからブロック追加するという流れになる。

最小ブロック数、最大ブロック数ともに1を指定する場合

マトリックスフィールドの設定で、最小ブロック数、最大ブロック数を1にするとブロックの追加、削除はできないけれど、デフォルトで表示されてて、ブロック追加ボタンもでない、DB的には別になるので管理しやすい場合がありそうな気がする。

フィールドの設定

エントリ新規作成画面

固定データ的なのとかを入れるのには使えそうだし、色々便利な使い方がありそうな気がする。

最小ブロック数を2にした場合

最小を2にすると新規作成画面でも2つ表示された状態からになる

いやー、知らなかった。


@BUN 調べによると Craft 3 の早い段階からこういう仕様だったっぽい。
マトリックスフィールドにブロック1つだけという使い方を滅多にしないから気づかなかったなー。

最小、最大のどっちにも1を入れようと思った人はすごいな(笑