Рейтинг:1

Что означает #разметка?

флаг us

Я постоянно встречаю этот ключ массива в Drupal (например, в Symphony's дпм()) но я не могу найти никакой документации о нем, что он делает, как я могу его использовать? Как отобразить то, что задано как #разметка значение в Twig?

флаг ru
Взгляните на документацию по массивам рендеринга: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Render%21theme.api.php/group/theme_render/9.3.x
Рейтинг:4
флаг us

Используя #разметка в массивах рендеринга вы можете выводить необработанный HTML (пропущенный через фильтр XSS для обеспечения безопасности).

Вот расширенный пример с необязательным #allowed_tags и заполнители.

/**
 * Реализует hook_preprocess_HOOK().
 */
функция mymodule_preprocess_foobar(&$variables) {
  $переменные['видео'] = [
    '#markup' => '<span>@video_label:</span> <video><source src="v.webm" type="video/webm"></video>',
    '#разрешенные_теги' => [
      'видео',
      'источник',
    ],
    '# прикрепленный' => [
      'заполнители' => [
        '@video_label' => t('Образец ярлыка'),
      ],
    ],
  ];
}

В Twig вы просто делаете:

{{ видео }}

И в вашем браузере вы получаете HTML с замененным заполнителем и лишенным <span>:

Переведенный ярлык: <video><source src="v.webm" type="video/webm"></video>
4uk4 avatar
флаг cn
Я бы использовал более длинное имя вместо `@label`, это глобальный заполнитель, заменяющий все на странице, который он может найти. Или используйте FormattableMarkup: `'#markup' => new FormattableMarkup('@этикетка', ['@label' => $метка])`
флаг us
Вы правы здесь, я просто хотел показать, как здесь работают прикрепленные заполнители. Я изменил название ярлыка на более конкретное.
Рейтинг:1
флаг in

Просто используя обычный синтаксис ветки печати: {{переменная}}

#markup — это html, который будет на последней странице, отправленной с сервера.

Вы можете использовать функцию предварительной обработки для перехвата и изменения #markup, если вам нужно.

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

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