AuthoringTagHandler
in
入稿用タグ(CSV / API から本文を書くための記法)を、保存用の HTML へ変換するハンドラ。
編集画面を通らずに本文を書き込む経路(CSV インポート・バックアップインポート・将来の API)は、
block-editor.authoring(AuthoringConverter)を通して
入稿用タグをこのハンドラの戻り値へ置き換えてから保存する。コアは HTML ブロック
(acms-block-editor-html-block)と埋め込みブロック(acms-block-editor-embed-block)を登録する。
拡張アプリは自前のハンドラを実装し、ServiceProvider::init() などで
block-editor.authoring-tags レジストリへ登録することで、独自ブロックの入稿用タグを追加できる。
Table of Contents
Methods
- convert() : string
- 入稿用タグを保存用の HTML へ変換する
- getTagName() : string
- 担当する入稿用タグの要素名
Methods
convert()
入稿用タグを保存用の HTML へ変換する
public
convert(AuthoringTag $tag, AuthoringContext $context) : string
戻り値でタグ全体(開始タグから閉じタグまで)を置き換える。空文字を返すとタグごと取り除かれる。 戻り値は再変換されないため、中身に入稿用タグを含められるブロックは AuthoringContext::convert() で中身を変換してから組み込むこと。 属性・中身は CSV / API の利用者が自由に書ける値のため、期待する形でなくても例外を投げず、 安全側の HTML を返して AuthoringContext::warn() で警告を残すこと。
Parameters
- $tag : AuthoringTag
-
変換対象のタグ
- $context : AuthoringContext
-
警告の記録・外部取得の可否・中身の再帰変換
Return values
stringgetTagName()
担当する入稿用タグの要素名
public
getTagName() : string
カスタム要素名(小文字英字で始まり、ハイフンを1つ以上含む)であること。拡張アプリは
コアとの衝突を避けるため acms-block-editor- 以外の接頭辞(プラグイン名等)を使う。
同じ名前のハンドラを後から登録した場合は、後勝ちで置き換わる。