2017-09-14 112 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

感謝您的迴應 - 雖然我不完全知道如何落實到「木材」語法這一點。我去了一個更簡單的解決方案。 –