Drupal 8中Twig模板无法校验title值的问题
解决模板中
title != "Home"判断不生效的问题 看起来你遇到的问题是模板里的条件判断没按预期工作——明明标题是Home,却还是渲染了<span class="small_caps">car</span>标签对吧?我来帮你排查几个可能的原因和解决办法:
检查
title是否带有前后空格:有时候变量值可能会带上看不见的空格(比如从数据库或后端传值时没做处理),导致严格相等判断失败。你可以试试用strip过滤器去掉前后空格后再比较:{% if title|strip != "Home" %}确认大小写是否完全匹配:虽然你说
<h5>里显示的是Home,但说不定后端传过来的是小写"home"或者大写"HOME"?如果想忽略大小写匹配,可以改成:{% if title|lower != "home" %}临时调试确认变量真实值:为了彻底搞清楚
title的实际内容,你可以在模板里加一行调试代码,输出变量的原始值(包括隐藏的空格):<!-- 调试用,确认后可删除 --> <p>Debug title: "{{title}}"</p>这样能直观看到
title是不是真的完全等于"Home",有没有隐藏的特殊字符。验证上下文变量名一致性:虽然
<h5>能正常显示,但还是要确认你用于判断的title和显示的title是同一个变量——比如有没有可能后端传的是page_title而非title?不过这个可能性较低,毕竟显示正常,但可以快速确认下。
你可以先从第一个方法开始尝试,前后空格是这类问题最常见的诱因~
内容的提问来源于stack exchange,提问作者Taylor's Designs
相关产品推荐
相关产品推荐

