用途:本技能介绍 Drupal 渲染数组(render arrays)的写法,包括基本结构、缓存元数据、渲染元素与标记安全,适用于模块与主题开发中需要程序化生成界面输出的场景。
主要能力:渲染数组支持 #type 为 container 的嵌套结构,可用 #markup 输出内容;缓存元数据通过 #cache 指定 tags、contexts 与 max-age。缓存标签约定包括 node:123(节点保存时失效)、node_list(任意节点创建或删除时失效)、user:456、taxonomy_term:789、config:my_module.settings、block_content:1。缓存上下文包括 user、user.permissions、user.roles、url、url.path、url.query_args、languages、session、theme。标记安全方面,#plain_text 始终安全;#markup 需配合 Markup::create(),用户输入先经 Xss::filter() 过滤,管理员级内容可用 Xss::filterAdmin()。渲染元素包含 html_tag、link、实体视图(通过 entityTypeManager 的 view builder)、inline_template,以及用于不可缓存内容的 #lazy_builder 与 #create_placeholder。
使用方式:可通过注入 RendererInterface 后调用 render($build) 输出字符串,或使用 renderInIsolation($build) 在隔离上下文中渲染且不冒泡缓存。
限制:资料未提供安装命令、版本要求、收费信息或完整实战步骤。