Drupal评论类型主题命名规范咨询:为内容类型配置不同评论模板
如何为Drupal中特定内容类型配置自定义评论模板?
嗨,我来帮你搞定这个问题!你已经给articles和reviews两种内容类型配置了对应的节点模板,现在要给reviews节点的评论单独设置自定义模板,Drupal的Twig模板命名有清晰的优先级规则,针对你的场景,具体操作如下:
核心命名规范(匹配你的需求)
直接创建名为comment--node--reviews.html.twig的模板文件放到主题文件夹里即可。这个命名的逻辑很直观:comment代表这是评论类型的模板--node指定评论关联的实体是节点(因为评论是依附在节点上的)--reviews精准定位到关联的节点内容类型为reviews
这样当系统渲染reviews节点下的评论时,会优先加载这个自定义模板,而不会使用默认的comment.html.twig。
进阶细分命名(如需更精准控制)
如果你给reviews节点配置了专属的评论类型(比如机器名为review_comment),还可以用更细分的命名来匹配:comment--review_comment--node--reviews.html.twig这个模板的优先级会比上面的更高,适合需要针对特定评论类型+特定内容类型做定制的场景。
顺便补个模板优先级从高到低的排序,方便你理解:
comment--[评论类型机器名]--node--[内容类型机器名].html.twig>comment--node--[内容类型机器名].html.twig>comment--[评论类型机器名].html.twig>comment.html.twig快速验证模板是否生效的小技巧
你可以开启Drupal的模板调试模式:找到sites/default/services.yml文件,把twig.config.debug的值改成true,然后刷新页面。查看页面源代码时,你会看到系统尝试加载的所有评论模板列表,以及当前实际使用的模板名称,这样就能快速确认自定义模板是否被正确识别啦。
内容的提问来源于stack exchange,提问作者арно нюм
相关产品推荐
相关产品推荐

