うすゆきブログ

Drupal9で繰り返しフィールド(The Repeater Field)を使う!

2021年5月23日 2021年5月22日

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を書かなければいけません………