カスタムフィールド

サイトのすべてのコンテンツはフィールドに入力されます。

フィールドは「設定 > フィールド」からグローバルに定義されます。それらは、便宜上フィールドグループ内に整理されていますが、フィールドグループはシステムの他の場所との関連性をほとんど持ちません。

すべてのフィールドはいくつかの共通の設定があります。

  • グループ – フォールドが表示されるフィールドグループ
  • 名前 – フィールドがコントロールパネル全体でどのように参照されるか
  • ハンドル – フィールドがテンプレートからどのように参照されるか
  • デフォルトのガイド – 投稿者をガイドするための説明テキスト
  • フィールドタイプ – フィールドの種類

フィールド設定画面

# フィールドタイプ

フィールドタイプを選択することでフィールドの入力 UI がどのように見えるのか、どのようなデータを保存できるのか、テンプレートからそのデータをどのように操作できるかが決まります。

Craft は次の組み込みのフィールドタイプがあります。

# 翻訳方法

Craft でマルチサイトを運用している場合、ほとんどのフィールドには「翻訳方法」設定があります(フィールドの種類に依存します)。

フィールドは次の翻訳方法を持つことができます。

  • 翻訳不可 – フィールドはすべてのサイトに渡って同じ値を持ちます。
  • 各サイトに対して翻訳 – フィールドはサイトごとに異なる値を持つことができます。
  • 各サイトグループに対して翻訳 – フィールドはサイトグループごとに異なる値を持つことができます。
  • 各言語に対して翻訳 – フィールドはサイトに関連付けられた固有の言語ごとに異なる値を持つことができます。
  • カスタム… – フィールドはカスタムの差別化要因に基づく、異なる値を持つことができます。

「カスタム…」を選択すると「翻訳キーの形式」設定が下に表示され、Craft がどのサイトにフィールド値をコピーするかを役立てるテンプレートを定義できます。新しいフィールド値が保存されると、Craft はすべてのサイトに対してこのテンプレートをレンダリングし、フィールド値は翻訳キーが元サイトとマッチするすべてのサイトにコピーされます。

例えば、フィールドの翻訳キーの形式が {site.handle[0:2]} だった場合、新しいフィールド値はサイトハンドルの最初の2文字が元サイトのハンドルの最初の2文字とマッチする他のすべてのサイトにコピーされます。

# フィールドレイアウト

作成されたフィールドは「フィールドレイアウト」にそれらを加えることによって、編集フォームに表示できます。

関連するコンテンツを持つ Craft 内のすべての場所で、フィールドを選択するためのフィールドレイアウトを提供します。

  • エントリは、「設定 > セクション > エントリタイプを編集 > [入力タイプ名] > フィールドレイアウト」の入力タイプで定義されたフィールドレイアウトを使用します。
  • グローバル設定は、「設定 > グローバル > [グローバル設定の名前]」で定義されたそれぞれのフィールドレイアウトを使用します。
  • アセットは、「設定 > アセット > [アセットボリューム名] > フィールドレイアウト」のアセットボリュームごとに定義されたフィールドレイアウトを使用します。
  • カテゴリは、「設定 > カテゴリ > [カテゴリグループ名] > フィールドレイアウト」のカテゴリグループごとに定義されたフィールドレイアウトを使用します。
  • タグは、「設定 > タグ > [タググループ名] > フィールドレイアウト」のタググループごとに定義されたフィールドレイアウトを使用します。
  • ユーザーは、「設定 > ユーザー > フィールド」で定義された単一のフィールドレイアウトを共有します。

フィールドレイアウトを編集すると、一番上に「コンテンツ」タブが、下段にフィールドグループごとに分類されたすべてのサイトのフィールドのリストが表示されます。フィールドの選択は下のエリアから上にドラッグするだけの簡単な操作で、すでに配置されたフィールドの前後の好きな場所に配置できます。選択されたフィールドをドラッグして、順序を入れ替えることもできます。

フィールドが選択されると、歯車アイコンが横に表示されます。クリックすると2つのオプションを含むコンテキストメニューを表示します。

  • 必須にする
  • 削除

「必須にする」をクリックすると、フィールド名の横にアスタリスク(*)が追加され、必須項目になったことを示します。それ以降、歯車アイコンをクリックすると、期待通り「必須にしない」オプションを表示します。

入力タイプのフィールドレイアウトには別の機能があり、フィールドを含むコンテンツタブを定義できます。必要数のコンテンツタブを作成し、類似するフィールドをまとめて分類するために利用します。各コンテンツタブには歯車アイコンが表示され、リネームや削除ができます。