Рейтинг:2

В чем разница/назначение ключей «контент» и «элементы» в предварительной обработке?

флаг jp

я использую hook_preprocess_node и глядя на $переменные. Я вижу два похожих ключа: содержание и элементы. я вижу, что есть комментарий в основном коде:

  // Полезная переменная $content для шаблонов.

рядом с кодом, который копирует все элементы ключи в содержание... я не уверен Почему это полезно, как это другое, и когда можно было бы использовать элементы или же содержание для достижения определенной цели.

Это общий вопрос, но моя задача состоит в том, что у меня есть два отдельных поля ссылок на термины таксономии, и я хочу объединить их в алфавитном порядке по имени термина в один список для представления.

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

элементы имя переменной, определенное в тема_крюк() для хранения визуализируемых элементов (для узла это массив построения сущности). Затем Preprocess отвечает за подготовку переменных для рендеринга, например содержание.

Если вашей целью является изменение вывода шаблона, сначала проверьте, какие переменные действительно печатаются. В шаблоне узла нет смысла менять элементы в предварительной обработке любые внесенные вами изменения будут отброшены. Однако вы можете сделать это в процессе сборки, например, в hook_entity_view_alter().

флаг jp
Таким образом, модуль *node* генерирует массив рендеринга со всеми данными узла в массивах рендеринга под `'элементами'`. Затем `template_preprocess_node()` устанавливает значения по умолчанию для узла, откуда берется все *копирование `элементов` в `контент`*. Таким образом, это означает, что `элементы` оставлены там только "на всякий случай" (?), но что с точки зрения продолжения процесса рендеринга, `контент` - это то, что сейчас имеет значение. Это примерно так?
4uk4 avatar
флаг cn
Да, но в вашем случае вы можете изменить массив сборки до того, как он достигнет хука предварительной обработки. Это больше похоже на то, что вы хотите изменить массив сборки, а не тему вывода.
флаг jp
Спасибо, я начал [еще один вопрос] (https://drupal.stackexchange.com/questions/309299/render-two-taxonomy-fields-in-one-alphabetical-list/309300#309300) для этой части задача, чтобы все было яснее.

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

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