如果网址中有特定的字符串,我正在寻找一种向正文添加类的方法。
我有一些逻辑工作,但以下语法: 1.不是DRY 2.由于if语句
,仅循环第一次迭代我想我需要以某种方式在' if'之后放置一个数组。声明,但不确定语法。 任何帮助,将不胜感激。 感谢
{% if 'bus-data' in post.link %}
<body class="{{body_class}} jumbo" data-template="base.twig">
{% elseif 'bus-data' not in post.link %}
<body class="{{body_class}}" data-template="base.twig">
{% endif %}
{% if 'taxi-data' in post.link %}
<body class="{{body_class}} jumbo" data-template="base.twig">
{% elseif 'taxi-data' not in post.link %}
<body class="{{body_class}}" data-template="base.twig">
{% endif %}
{% if 'education-data' in post.link %}
<body class="{{body_class}} jumbo" data-template="base.twig">
{% elseif 'education-data' not in post.link %}
<body class="{{body_class}}" data-template="base.twig">
{% endif %}
{% if 'public-data' in post.link %}
<body class="{{body_class}} jumbo" data-template="base.twig">
{% elseif 'public-data' not in post.link %}
<body class="{{body_class}}" data-template="base.twig">
{% endif %}
答案 0 :(得分:1)
你可以创建一个新的过滤器来解决这个问题,
过滤
$twig->addFilter(new Twig_SimpleFilter('contains', function ($value, $needles) {
if (!is_array($needles)) $needles = [ $needles, ];
foreach($needles as $needle) if (strpos($value, $needle) !== false) return true;
return false;
});
枝条
<body class="{{body_class}}{% if post.link|contains(['bus-data', 'taxi-data', 'education-data', 'public-data',]) %} jumbo{% endif %}" data-template="base.twig">
答案 1 :(得分:0)
看起来我可能过于复杂化了一些非常简单的事情,离开它会让它变得更加清晰。 我只是整理了我的其他“如果&#39;循环:
{% if 'bus-data' in post.link %}
<body class="{{body_class}} jumbo" data-template="base.twig">
{% elseif 'taxi-data' in post.link %}
<body class="{{body_class}} jumbo" data-template="base.twig">
{% elseif 'education-data' in post.link %}
<body class="{{body_class}} jumbo" data-template="base.twig">
{% elseif 'public-data' in post.link %}
<body class="{{body_class}} jumbo" data-template="base.twig">
{% else %}
<body class="{{body_class}}" data-template="base.twig">
{% endif %}