段落の前処理[終了]


7

コンテンツエディターに、ある種のフィード(たぶんTwitter、Tumblrなど)を特定のノードに追加できるようにしたいと考えています。パラグラフを使用したいのは、他のさまざまなコンテンツの間にこのフィードをドロップできるようにするためです。

段落バンドルには、リソースURLを受け入れるフィールドが1つだけあります。必要なすべての処理を舞台裏で行い、フォーマットされたコンテンツをtwigテンプレートを介してノードに送り返します。

段落バンドルの代わりにブロックを使用して動作するバージョンがあり、同じカスタムモジュールを使用して段落を許可したいのですが、Drupal 8ではこれをどのように構成するのが最善かわかりません。

私が思いつくことができる最高のものは、全体を開始する何らかのsort- preprocess_nodeまたはpreprocess_paragraph(私がD8に存在すると思う)の前処理関数ですが、なんらかの基本エンティティクラスがあるかどうか疑問に思っていました私が上書きできる方法か何かがあります。(BlockBaseクラスに「ビルド」メソッドがある方法と同様です。)


Drupal Answersへようこそ!申し訳ありませんが、このサイトは一般的なアイデアを探すためのものではありません。私たちは客観的な答えがある明確に定義された質問に答えます。
kiamlaluno

これにはかなり明確な答えがあります(私が書いたフィールドフォーマッタ)。これが広すぎるとは思いません。
Berdir

3
ありtemplate_preprocess_paragraph(&$variables)、ありtemplate_preprocess_paragraph__PARAGRAPH_TYPE(&$variables)ます。
leymannx 2017

回答:


2

段落は、親エンティティ内で表示されるフィールドを持つコンテンツエンティティです。ノード、コメントなどとして表示されるのとまったく同じメカニズムを使用します。フィールドフォーマッタを通じて。

(リンク?)フィールドを任意の方法で変換する独自のフィールドフォーマッタプラグインを実装できます。フィールドアイテムを受け取り、レンダー配列を返す必要があります。それが唯一の制限です。

すべてのプラグインと同様に、特定の名前空間/フォルダーにある、注釈付きのクラスです。リンクフィールドのデフォルトのフォーマッタはLinkFormatterです。最も重要なメソッドはviewElements()です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.