2017-09-14 111 views
1

我正在寻找一种方法来添加一个类到正文,如果有一个特定的字符串在URL中。枝条/木材有条件显示正文类

我已经种了逻辑工作,但语法如下: 1.未干,因为第一次迭代 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

看来我可能是Ø将一些非常简单的事情复杂化,然后从中走开使事情变得更加清晰。 我刚收拾我“否则,如果”循环:

{% 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 %} 
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"> 
+0

感谢您的回应 - 虽然我不完全知道如何落实到“木材”语法这一点。我去了一个更简单的解决方案。 –