2016-08-02 3 views
3

Twig의 결정으로 배열과 객체 속성의 값을 set을 통해 설정할 수 없도록하는 것이 매우 혼란 스럽습니다.나뭇 가지 - 왜 우리가 객체/배열 값을 설정할 수 없습니까?

예를 들어, 다음 코드는 오류가 밖으로 것 또한

Unexpected token "punctuation" of value "." ("end of statement block" expected)

다음과 같은 방법으로도 오류 (나는 나뭇 가지를 알 수 :

{% set entry.depth = 1 %}

이 오류가 발생합니다 사용을 선호하지 않음) :

{% set entry['depth'] = 1 %}

이렇게하면 효과적으로 개체와 배열의 속성을 변경할 수 없습니다. 나는 솔직히이 기괴한 것을 발견한다.

누군가가이 문제에 대한 결정을 설명해 주시겠습니까? 어쩌면 내가 왜 기술적 인 이유가 생겨서 가능하지 않다면 당황하지 않을지 모릅니다.

편집 : 해결책 주셔서 감사합니다. 변수를 재정의 할 수있는 것보다 병합을 사용해야한다는 사실에 더 많은 이유가있었습니다.

답변

5

나뭇 가지가 좀 이상합니다. 이 경우 merge 필터를 사용해야합니다.

{% set entry = entry|merge({'depth': 1}) %} 
관련 문제