Рейтинг:1

Добавить HTML-разметку в новое текстовое поле абзаца

флаг es

Я создаю новый элемент абзаца в функции 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,
]);

В этом случае печаталось только название.

Рейтинг:1
флаг cn

To store a formatted text field you need a field array with two properties value and format:

$summary_paragraph = Paragraph::create([
  // ...
  'field_content' => [
    'value' => '<p>Paragraph one.</p><p>Paragraph two.</p>',
    'format' => 'full_html',
  ],
]);
scaffolding avatar
флаг es
Спасибо @ 4k4, это сработало отлично.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.