2012-08-08 6 views
3

ESI include 또는 eval 블록의 결과를 ESI 변수에 저장하고 싶습니다. 포함 된 내용이 내 통제 범위를 벗어납니다. 형식은 JSON입니다. 나는 아래의 모든 것을 시도해 보지 않았다. 변수는 빈 문자열로 끝납니다.esi : include 또는 esi : eval 문의 결과를 esi 변수에 저장할 수 있습니까?

<esi:assign name="variable_name"> 
'<esi:include src="$(url)" method="post" entity="$(param)" />' 
</esi:assign> 
<esi:assign name="variable_name"> 
'<esi:eval src="$(url)" method="post" entity="$(param)" />' 
</esi:assign> 

<esi:assign name="variable_name"> 
'''<esi:include src="$(url)" method="post" entity="$(param)" />''' 
</esi:assign> 
<esi:assign name="variable_name"> 
'''<esi:eval src="$(url)" method="post" entity="$(param)" />''' 
</esi:assign> 

내가 테스트중인 ESI 서버는 Akamai의 ETS입니다.

답변

3

이것은 Akamai의 지원 팀에서 제공 한 솔루션입니다. 꽤 복잡하지만, 그것은 훌륭하게 작동합니다.


파일 : json.txt

{ "a" : 1, "b" : 2 } 

파일 : frag.esi

<esi:text><esi:assign name="val">'''</esi:text><esi:include 
src="json.txt"/><esi:text>'''</esi:assign></esi:text> 

파일 : container.esi

<esi:eval src="frag.esi" dca="esi" /> 

<esi:vars> 
val = $(val) 
</esi:vars>