2017-02-16 5 views
0

変数Twib root_pathを使用してセットボディクラスを追加する必要があります。どのページストリング 'ノード'にも印刷されます。Twig変数の1つの変数の増分値

私はどのように条件を書くことができますか?if root_path == 'node'は1を増分するので、文字列ノードに1を加えます。そして、すべてのページのインクリメントnode_1node_2node_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

ありがとう、あなた!これはまさに私が欲しいものです。 {%set root_path = 'node_'〜(root_path | split( '_'、2)[1] + 1)%} {%endif} {%set root_path [0:4] == 'ノード'%} %} 'しかし、結果として私はすべてのページパスnode-1クラスを持っています。私はそれが1つ増分するたびに、すべてのページが一意の番号page-node-2、page-node-3などを持つようにしたいと考えました。 – user2977046

+0

1つの方法は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 %} 
関連する問題