2017-02-16 132 views
0

我需要使用Twig root_path變量添加設置的主體類。打印每個頁面字符串'節點'。Twig變量的增量值爲一個

我如何寫條件,if root_path == 'node'遞增值爲1,因此它將1添加到字符串節點。併爲每頁增量node_1,node_2,node_3等。

枝條對我來說是全新的,如果我現在不清楚,也很抱歉。 試過這個,但我想這完全沒有任何意義。

{% if root_path === 'node' %} 

{% set root_path = root_path + 1 %} 

{% endif %} 
+1

你如何確定一個新的頁面?你在某處有一根小枝嗎?如果是這種情況,你能否顯示代碼?答案會比已發佈的答案簡單得多。 –

回答

1

我不確切知道它是否增加頁面內變量root_path的數量。如果是這樣,那麼你必須通過一些字符串操作符。這裏有一個可能性:

{% if root_path[0:4] == 'node' %} 
    {% set root_path = 'node_' ~ (root_path|split('_', 2)[1] + 1) %} 
    {% endif %} 

    <p>{{ root_path }}</p> // show node_1 

    {% if root_path[0:4] == 'node' %} 
    {% set root_path = 'node_' ~ (root_path|split('_', 2)[1] + 1) %} 
    {% endif %} 

    <p>{{ root_path }}</p> // show node_2 

如果你想對它進行計數,在會話中使用計數器。

但是在任何情況下,將字符串和索引的組合分開,並根據需要放在一起。

<body id=」{{ ‘node_’ ~ counter }}」> 
+0

謝謝你的男人!這正是我想要的。 {%if root_path [0:4] =='node'%} {%set root_path ='node_'〜(root_path | split('_',2)[1] + 1)%} {%endif %}'但結果是我得到了每個頁面path-node-1類。我希望每次增加一個頁面時,每個頁面都會有唯一的編號page-node-2,page-node-3等等。 – user2977046

+0

一種方法是在PHP中使用會話http://stackoverflow.com/問題/ 865015/how-to-increment-a-counter-each-page-load-in-php – pwunderlich

+0

謝謝你的努力,但它不能解決我的問題。只需要爲節點上的每個頁面類添加特定的內容即可。 – user2977046

0

你應該澄清一點你的問題,例如通過顯示你的變量包含頁面和期望的標記。

如果您的目標是遍歷鏈接樹來生成索引,您可能會對我開發的擴展感興趣。

https://github.com/ninsuo/jordan-tree

{% tree item in menu %} 
    {% if treeloop.first %}<ul>{% endif %} 
    <li> 
     <a href="{{ item.url }}">{{ item.name }}</a> 
     {% subtree item.children %} 
    </li> 
    {% if treeloop.last %}</ul>{% endif %} 
{% endtree %}