2014-04-10 66 views

回答

1

適合我。我想這是一個塊問題。也許你的base1的塊出現在base2的塊之後並覆蓋該值。

的問題似乎與此代碼,例如:

#base2.html.twig 
{% extends 'base1.html.twig' %} 
{% block content %} 
    {% set show = 1 %} 
    {{ parent() }} 
    {{ show }} 
{% endblock %} 

你應該試試這個:

#layout.html.twig 
{% block content %} 
    {% set show = 0 %} 
    {{ show }} 
{% endblock %} 

#base1.html.twig 
{% extends 'layout.html.twig' %} 
{% block content %} 
    {{ parent() }} 
    {% set show = 1 %} 
    {{ show }} 
{% endblock %} 

#base2.html.twig 
{% extends 'base1.html.twig' %} 
{% block content %} 
    {{ parent() }} 
    {% set show = 2 %} 
    {{ show }} 
{% endblock %} 

在繼承過程中的每一步顯示show變量,應該可以幫助你看到什麼出錯了。最終響應應顯示0 1 2

+0

willnt calling'parent()'output'0'? wouldnt results'''0','0 1','0 2'? – gondo

+0

@gondo,yep,調用'parent()'輸出前一個變量。正如我所說,最終的迴應將是'0 1 2'。 '0'表示佈局,'1'表示base1,'0 1 2'表示base2。 – Einenlum

+0

我明白了,謝謝你的澄清,我認爲你的'最終答覆'是每塊 – gondo