VoidAuthoringTagHandler
extends
AuthoringTagHandler
in
中身を持たない入稿用タグ(HTML の void 要素のように開始タグだけで完結する)のハンドラ。
このインターフェースを実装したハンドラのタグは、開始タグの直後で終わるものとして扱い、
直後にある同名の閉じタグ(<x-a url="..."></x-a>)は読み飛ばす。閉じタグを書き忘れた
利用者の入力で、後続の本文や別のタグを中身として飲み込まないため(埋め込みブロック等、
属性だけで表現できるブロック向け)。AuthoringTag::$innerHtml は常に空文字になる。
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- 以外の接頭辞(プラグイン名等)を使う。
同じ名前のハンドラを後から登録した場合は、後勝ちで置き換わる。