Hide format info (旧 Allowed Formats)

テキストフィールドのテキストフォーマットのヘルプとガイドラインを非表示にします。元の「allowed formats」機能はDrupal Core 10.1.0以降に移行されました。

allowed_formats
52,186 sites
108
drupal.org

インストール

Drupal 11, 10 v3.0.1
composer require 'drupal/allowed_formats:^3.0'
Drupal 9 v2.0.0
composer require 'drupal/allowed_formats:^2.0'
Drupal 8 v8.x-1.5
composer require 'drupal/allowed_formats:8.x-1.5'

概要

Allowed Formatsモジュールは、その誕生以来大きく進化してきました。元々は、各テキストフィールドインスタンスで利用可能なテキストフォーマットを制限する機能を提供していました。しかし、Drupal 10.1.0以降、このコア機能はDrupal Coreに直接統合されました。

3.xブランチでは、モジュールは2つの主要な領域に焦点を当てています。まず、既存のサイトがモジュールのサードパーティ設定からDrupal Coreのネイティブフィールド設定に許可フォーマット設定を変換するための移行パスを提供します。次に、フォーマット済みテキストフィールドの下に通常表示されるテキストフォーマットヘルプリンク(「テキストフォーマットについて」)とフォーマットガイドラインを非表示にする機能をサイトビルダーに提供します。

モジュールは、フィールドウィジェット設定フォームを通じて設定できるサードパーティ設定をテキストフィールドウィジェットに追加することで動作します。有効にすると、これらの設定はレンダリングされたフォーム要素からフォーマットヘルプとガイドラインを削除し、フォーマット情報を見る必要のないエンドユーザーにとってよりクリーンなインターフェースを提供します。

Features

  • フォーマット済みテキストフィールドの「テキストフォーマットについて」ヘルプリンクを非表示にする
  • テキストエリア下のテキストフォーマットガイドライン/説明を非表示にする
  • 古いモジュールバージョンからDrupal 10.1+のCoreフォーマットへの許可フォーマット設定の自動移行
  • フィールド設定保存時の後方互換性処理
  • すべてのフォーマット済みテキストフィールドタイプのサポート:text、text_long、text_with_summary

Use Cases

コンテンツエディター向けのテキストフィールドインターフェースの簡素化

サイトビルダーはこのモジュールを使用して、テキストフィールドの「テキストフォーマットについて」ヘルプリンクとフォーマットガイドラインを非表示にできます。これは、コンテンツエディターが特定のフォーマットでトレーニングされており、フォーマット選択オプションやガイドラインを見る必要がない場合に特に便利で、よりクリーンで整理された編集インターフェースを実現します。

古いAllowed Formatsバージョンからの移行

フィールドごとのテキストフォーマット制限にモジュールの1.xまたは2.xバージョンを使用していたサイトは、3.xバージョンを使用してそれらの設定をDrupal Coreのネイティブallowed_formatsフィールド設定に自動移行できます。移行はデータベース更新中およびフィールド設定の保存時に自動的に行われます。

単一フォーマットフィールドでのフォーマット情報の非表示

テキストフィールドが1つのテキストフォーマットのみを許可するように設定されている場合、フォーマットセレクターとガイドラインは不要になります。このモジュールはその情報を非表示にし、Coreで設定されたフィールドのフォーマット制限を維持しながら、フォームをクリーンにできます。

複雑なフォームでの視覚的ノイズの削減

複数のフォーマット済みテキストフィールドを持つコンテンツタイプでは、繰り返されるフォーマットヘルプとガイドラインが視覚的な煩雑さを生み出す可能性があります。サイト管理者は各フィールドウィジェットで非表示オプションを有効にして、編集体験を効率化できます。

Tips

  • 非表示設定はグローバルではなく、フィールドウィジェットごとに設定されます。各テキストフィールドは異なる非表示設定を持つことができます。
  • 1つのフォーマットのみが許可され、ヘルプとガイドラインの両方が非表示の場合、モジュールは完全にクリーンなインターフェースのためにラッパーコンテナも削除します。
  • モジュールはfield_config presave中に自動的に移行を処理するため、ほとんどの操作で手動移行は必要ありません。
  • フォーマットを制限し、かつフォーマットインターフェースを非表示にするために、このモジュールをDrupal Coreのallowed_formatsフィールド設定と組み合わせて使用することを検討してください。

Technical Details

Hooks 3
hook_field_widget_third_party_settings_form

フォーマットヘルプとガイドラインを非表示にするためのチェックボックス設定をテキストフィールドウィジェットに追加

hook_field_widget_single_element_form_alter

#after_buildコールバックを介して非表示設定を適用するためにテキストフィールドウィジェットフォーム要素を変更

hook_ENTITY_TYPE_presave (field_config)

フィールド設定が保存されるときに、レガシーの許可フォーマットサードパーティ設定をDrupal Coreのフィールド設定に変換

Troubleshooting 4
フィールドウィジェット設定に設定が表示されない

テキストベースのフィールド(text、text_long、またはtext_with_summary)を編集していることを確認してください。モジュールはこれらのフィールドタイプにのみ設定を追加します。サイト構成 > コンテンツタイプ > [タイプ] > フォーム表示管理に移動し、テキストフィールドウィジェットの歯車アイコンをクリックしてください。

非表示オプションを有効にした後もフォーマットヘルプとガイドラインが表示される

設定を変更した後、Drupal Cacheをクリアしてください。フォーム要素の変更は#after_buildコールバックを使用しており、効果を発揮するにはCacheの再構築が必要です。

レガシーの許可フォーマットがCoreに移行されない

drush updbまたは/update.phpを通じてデータベース更新を実行してください。モジュールはレガシーのサードパーティ設定をDrupal Coreのネイティブフォーマットに移行するpost_updateフックを提供しています。

モジュールが互換性なしと表示される

このモジュールにはDrupal 10.1.0以上が必要です。古いバージョンを使用している場合は、完全な許可フォーマット機能を提供するモジュールの2.xブランチを使用してください。

Security Notes 3
  • このモジュールはDrupalセキュリティアドバイザリーの対象であり、セキュリティ問題はDrupalセキュリティチームによってレビューおよび対処されます。
  • フォーマットヘルプとガイドラインを非表示にしても、実際のフォーマット検証には影響しません。許可されていないフォーマットはサーバーによって拒否されます。
  • モジュールは権限チェックをバイパスしません。ユーザーはテキストフォーマットを使用するために引き続き適切な権限が必要です。