Drupal9で繰り返しフィールド(The Repeater Field)を使う!
WordPressのACFで作るタクソノミーのようなものがDrupalには標準でついています。
しかし!
WordPresのACFで使われる繰り返しフィールド(The Repeater Field)が見当たらないんです!!
ずっと見つからず苦戦していたのですが、遂に方法を見つけましたのでご紹介します!!!!
目次
解決策
Paragraphsモジュール+デフォルトの機能を使う
このモジュール自体はカスタムフィールドを作成できるモジュールで、繰り返しフィールドが作れるモジュールでは無いのですが、デフォルトで入っている「許容する値の数」の部分と組み合わせることで、繰り返しフィールドが作れます!!!!!!
Paragraphsモジュール、ありがたいことにDrupal8~に対応して、メンテナンスもされています。
インストール
Paragraphsモジュールは
https://www.drupal.org/project/paragraphs
こちらを導入して、有効化します。
(FTPでのアップロードだと依存関係で事故って有効化できない可能性高いのでcomposerコマンドでのインストールおすすめします。)
composer require drupal/paragraphs
とかで行けます。
Paragraph typeの作成
この機能拡張(モジュール)を有効にすると、サイト構築のページに「Paragraph types」ができます!!!!!!
こちらクリックしまして、
この「Add paragraph type」で、繰り返したいフィールドの元となる部分を作っていきます。
「保存してフィードを管理」を押すと、
コンテンツタイプのフィールド管理的な感じのページが出てきます。
繰り返しフィールドにしたい中身を入れていきます。
繰り返しフィールドの作成
設定終わりましたら、このフィールドを使いたいコンテンツタイプのフィールドの管理に行きまして、
フィールドの追加から「Paragraph」を選びましょう。
次に進んで、
許容する値の数を「無制限」にします!
これで繰り返しフィールドになります。
「制限」にして、5回分までOK的なことも可能です。
さらに次のページで先ほど作成したParagraphsの名前のタイプにチェックを付けます。(この記事の例では「履歴」)
これで設定の保存をすると…
コンテンツの作成ページに行く
コンテンツ作成のページで繰り返しフィールドができます!!!!
参考までに
単一の種類(画像だけとか)の繰り返しフィールドはデフォルトでできる
これはデフォルトでできます!!
例:画像の繰り返しフィールド的なもの
コンテンツタイプのフィールド追加出てくる画像を選びまして、
「許容する値の数」を「無制限」または「制限」で任意の回数にすると繰り返しフィールド的な感じで使えます。
こんな感じで、追加できます!
画像ギャラリー的な感じで使えますね。
これはデフォルトでできるのですが、画像と説明文みたいな自由度の高い繰り返しフィールドはできません!!
繰り返しフィールドができるモジュール→見つからない
そのままで繰り返しフィールドができる「機能拡張(モジュール)」は見当たりませんでした……
グーテンベルクのブロックで代替→難易度高い
なんとDrupalでもグーテンベルクが使えるのですが、こちらのブロックを簡単に作れる(WordPressでのACFBlocks的なもの)は見当たりません…
手作りのブロックという手もありますが、Reactを書かなければいけません………