Save & Edit
ノード編集フォームに「保存して編集を続ける」ボタンを追加し、コンテンツを保存しながら編集ページに留まることができます。
save_edit
インストール
composer require 'drupal/save_edit:^2.1'
composer require 'drupal/save_edit:8.x-1.9'
概要
Save & Editモジュールは、ノード編集フォームに「保存して編集を続ける」ボタンを追加することで、Drupalのコンテンツ編集ワークフローを強化します。保存後にノード表示ページにリダイレクトされる標準の「保存」ボタンとは異なり、「保存して編集を続ける」ボタンはすべてのコンテンツ変更を保存しながら、ユーザーを編集フォームに留めます。
この機能は、変更を続けながら頻繁に下書きとして作業を保存するコンテンツ編集者にとって特に便利です。保存のたびに編集フォームに戻る必要がなくなり、コンテンツ作成プロセスが効率化されます。
このモジュールは、カスタマイズ可能なボタンテキスト、配置コントロール、Gin管理テーマとの統合、自動非公開機能、その他のデフォルトフォームボタンを非表示にする機能など、豊富な設定オプションを提供します。管理者はコンテンツタイプごとにボタンを有効にでき、機能が利用可能な場所を細かく制御できます。
Features
- コンテンツを保存しながら編集ページに留まる設定可能な「保存して編集を続ける」ボタンをノード編集フォームに追加
- 「保存して編集を続ける」ボタンとデフォルトの保存ボタンの両方のボタンテキストをカスタマイズ可能
- フォームアクション領域内でのボタンの重み/配置を調整可能(-10から10の範囲)
- Gin管理テーマとの統合により、ドロップダウンではなくプライマリアクションとしてボタンを表示
- 「保存して編集を続ける」使用時にノードを自動的に非公開に設定する自動非公開機能
- 新規ノードのみを自動非公開にし、既存ノードの公開状態は変更しないオプション
- デフォルトのフォームボタンを個別に非表示:保存、公開、プレビュー、削除
- 新しく作成されたコンテンツタイプの自動有効化オプション
- どのノードタイプに「保存して編集を続ける」ボタンを表示するかを制御するコンテンツタイプごとの設定
- 編集フォームにリダイレクトする際にdestinationパラメータを保持
- コンテンツタイプ削除時の設定の自動クリーンアップ
Use Cases
長文コンテンツの作成
長い記事やドキュメントを作成するコンテンツ編集者は、「保存して編集を続ける」を使用して作業を中断せずに定期的に進捗を保存できます。保存のたびに公開ページにリダイレクトされる代わりに、編集フォームに留まり、すぐに執筆を続けることができます。
自動非公開を使用した下書きワークフロー
公開前にコンテンツレビューを必要とする組織では、自動非公開機能を有効にできます。編集者が「保存して編集を続ける」を使用すると、コンテンツは自動的に非公開として保存され、適切なレビューなしに公開されることがありません。「新規ノードのみ」オプションを使用すると、初回作成時にはこのワークフローを適用しつつ、編集時には公開状態を保持できます。
効率化された編集インターフェース
コンテンツ編集者が主に「保存して編集を続ける」を使用するサイトでは、管理者は標準の保存ボタンを非表示にしてインターフェースを簡素化できます。プレビューボタンと削除ボタンも非表示にすることで、必要最小限の「保存して編集を続ける」アクションのみが表示される、集中した編集体験を作成できます。
Ginテーマ統合
Gin管理テーマを使用しているサイトでは、「保存して編集を続ける」ボタンを「その他のアクション」ドロップダウンに埋もれさせるのではなく、固定ヘッダー領域に目立つプライマリアクションとして表示できます。これにより、最もよく使用される保存機能に素早くアクセスできます。
複数ステップのコンテンツ構築
複数のフィールド、メディアアップロード、または関連エンティティを含む複雑なコンテンツを作成する際、編集者は「保存して編集を続ける」を使用して段階的に保存できます。これによりデータ損失を防ぎ、保存されたコンテンツを必要とするファイルアップロードやAJAX操作が可能になります。
新しいコンテンツ編集者のトレーニング
カスタマイズ可能なボタンテキスト機能により、「保存して編集を続ける」を組織の用語に基づいて「下書きを保存」や「編集を続ける」などのより直感的なラベルに変更でき、新しいチームメンバーの混乱を軽減します。
Tips
- 管理 > ユーザー > 権限で、適切なロール(編集者、コンテンツ作成者)に「Use Save and Edit Button」権限を付与してください
- Ginテーマユーザーは「Gin管理テーマのプライマリアクションとして表示」オプションを有効にして、ボタンをより目立たせてください
- 本番サイトでは自動非公開機能を慎重に使用してください。既存のコンテンツを誤って非公開にしないよう、「新規ノードのみ」の使用を検討してください
- ボタンの重みを-10に設定すると「保存して編集を続ける」が最初のボタンとして配置され、大きな値にすると他のアクションの後に配置されます
- デフォルトの保存ボタンを非表示にする場合、ユーザーが「保存して編集を続ける」を使用すべきことを理解していることを確認するか、最終保存用の代替として公開ボタンを提供してください
- 新しいコンテンツタイプを頻繁に作成し、デフォルトで「保存して編集を続ける」を利用可能にしたい場合は、「ノードタイプを自動的に有効化」を有効にしてください
- モジュールはすべての「destination」クエリパラメータを保持するため、コンテキストリンクやその他のナビゲーションパスからアクセスした場合でも「保存して編集を続ける」は正しく動作します
Technical Details
Admin Pages 1
/admin/config/save_edit/settings
Save & Editモジュールのメイン設定ページ。管理者がボタンの動作、外観をカスタマイズし、どのコンテンツタイプに「保存して編集を続ける」ボタンを表示するかを選択できます。
権限 2
Hooks 4
hook_help
ヘルプページにモジュールのヘルプテキストを提供します
hook_form_alter
ノードフォームに「保存して編集を続ける」ボタンを追加するコア機能フック。ユーザー権限をチェックし、コンテンツタイプが有効であることを検証し、送信ボタンの設定を複製し、カスタム送信ハンドラを追加し、Ginテーマ統合を処理し、ボタンの表示/非表示を管理します。
hook_entity_bundle_create
新しく作成されたコンテンツタイプをモジュール設定に自動的に追加します。「ノードタイプを自動的に有効化」がチェックされている場合、新しいタイプも有効化されます。それ以外の場合は追加されますが無効のままです。
hook_entity_bundle_delete
削除されたコンテンツタイプをモジュール設定から自動的に削除し、孤立した設定エントリを防ぎます。
Troubleshooting 6
次の点を確認してください:1)ユーザーが「Use Save and Edit Button」権限を持っている、2)コンテンツタイプが/admin/config/save_edit/settingsのSave & Edit設定で有効になっている、3)設定変更後にDrupalキャッシュをクリアする。
「保存して編集を続けるボタンの重み」設定を調整してください。負の値(-10から-1)を使用するとボタンが左/前に移動し、正の値(1から10)を使用すると右/後ろに移動します。
設定で「Gin管理テーマのプライマリアクションとして表示」チェックボックスが有効になっていることを確認してください。このオプションはGinが管理テーマとして検出された場合のみ表示されます。
「すべてのノードを自動非公開」が有効になっているか確認してください。この動作を新しいコンテンツのみに適用したい場合は、代わりに「新規ノードのみ自動非公開」を有効にしてください。
ボタンの表示/非表示設定を確認してください。「デフォルトの...を非表示」チェックボックスが、どの標準ボタンを表示するかを制御しています。
設定で手動で有効にするか、「ノードタイプを自動的に有効化」を有効にして、新しいコンテンツタイプをデフォルトで追加・有効化してください。
Security Notes 4
- モジュールはDrupalの権限システムを尊重します - 「use save and edit」権限を持つユーザーのみがボタンを表示できます
- 管理設定には別途「administer save and edit」権限が必要です
- モジュールは新しいデータ入力や保存を導入せず、フォームの動作のみを変更します
- 自動非公開機能は、意図しないコンテンツの表示変更を避けるため、慎重に使用してください