Я создаю новый элемент абзаца в функции hook_node_presave().
Элемент абзаца довольно прост, просто заголовок и основной текст, написанные в текстовом поле с полным редактированием текста html. Когда я пытаюсь использовать html-элементы в основном тексте, я не могу получить содержимое для отображения HTML-тегов.
Есть ли способ сделать это с помощью массива рендеринга или другого метода?
Это моя первая попытка построить абзац, помещая мои html-теги непосредственно в поле, содержащее основной текст.
$summary_paragraph = Абзац::создать([
'type' => 'paragraph_text', // это тип абзаца
'field_title' => 'Текст заголовка',
'field_content' => '<p>Первое предложение.</p><p>Второе предложение</p>.',
]);
Название отображается правильно и field_content печатает теги вместе с текстом.
Я также пробовал с массивом рендеринга.
$content_text = [
'#type' => 'обработанный_текст',
'#text' => '<p>Абзац первый.</p><p>Абзац второй.</p>',
'#format' => 'full_html',
];
$summary_paragraph = Абзац::создать([
'type' => 'paragraph_text', // это тип абзаца
'field_title' => 'Текст заголовка',
'field_content' => $content_text,
]);
В этом случае печаталось только название.