2012-06-19 3 views
1

smarty를 통해 색인을 생성 한 SMARTY의 배열에 액세스하는 방법을 알고 싶습니다. 나중에 액세스하고 싶습니다. 이 같은동적 인 배열 키

있어 뭔가 :

{if $smarty.get.{param_{$k.id}_{$p.num}} eq $key} 

내가

$smarty.get.(dynamic generated index)는 몇 가지 변화를 시도 액세스 할 수 좋아하지만 운이 없었다.

+0

지금 일하고있어. 대답을 받으면 받아 들일 것입니다. –

+0

{$ smarty.get [$ your_var]}을 (를) 사용해 보셨습니까? – madfriend

+0

@neosatan 내 대답을 확인하십시오. –

답변

2

인덱스에는 변수를 사용할 수 있지만 시도한 방식대로 문자열을 작성할 수는 없습니다. 전에 맞춤 변수를 작성하십시오.

{$myIndex = "param_{$k.id}_{$p.num}"} 
{if $smarty.get.$myIndex eq $key} 
    ... 

+0

오류가 발생하지 않지만 var이 비어있는 것 같습니다. 내 코드에 일종의 오류가 있는지 확인해야합니다. –

+0

매력처럼 작동합니다. 아직도 문자열을 외부에 빌드하면 잘되는지 알고 싶지만 실제 인덱스에 문자열을 만들려는 경우 실패합니다. –

+0

디자인에 의한 것 같아요. 귀하의 코드가 유효하지 않은 Smarty 구문입니다. –

0

이 내 경우도

{if $smarty.get["param_{$k.id}_{$p.num}"] eq $key} 
    ... 
1

작동합니다 나는 UnLoCo 솔루션을 사용하고 직접 동적 키와는 완벽하게 작동합니다 (문이 경우없이 ) 배열의 콘텐츠에 액세스하려고 :

{$arr1["column_{$arr2.month}_price"]} 
+0

PS 1.6.1.12'{$ myVar [ "keybase _ {$ i}"]}'에서 확인되었습니다. –