문제

Array $imagelist:

Array ( 
    [additional] => Array ( 
        [count] => 2 
        [image] => Array ( 
            [nokia_e61_1.jpg] => Array ( 
                [name_body] => nokia_e61_1 
                [name_ext] => jpg 
            ) 
            [nokia_e61_2.jpg] => Array ( 
                [name_body] => nokia_e61_2 
                [name_ext] => jpg 
            ) 
            [nokia_e61_3.jpg] => Array ( 
                [name_body] => nokia_e61_3 
                [name_ext] => jpg 
            ) 
            [nokia_e61_4.jpg] => Array ( 
                [name_body] => nokia_e61_4 
                [name_ext] => jpg 
            ) 
        ) 
    ) 
    [main] => nokia_e61 
) 

가치 nokia_e61_1.jpg 보관됩니다 {$getvars.imagename}.

나는 썼다 {$imagelist.additional.image.`$getvars.imagename`.name_body} 그러나 그것은 작동하지 않습니다.

도와주세요.

도움이 되었습니까?

해결책

확인하십시오 {$imagelist.additional.image[$getvars.imagename].name_body} 공장

다른 팁

나는 이것에 대해 Smarty를 좋아하지 않지만 그럼에도 불구하고 나는 그것을 사용합니다. 다음은 추출물 양식 문서입니다

{$foo.$bar}   <-- display variable key value of an array, similar to PHP $foo[$bar]

그것을 할 수 있으려면

{assign var='key' value=$getvars.imagename}
{$imagelist.additional.image.$key.name_body}

도움이되기를 바랍니다

배열을 재구성하면 내부 '이미지'오프셋의 키인 어쨌든 중복됩니다.

$imagelist = array('additional' => array('count' => 2,
       'image' => array(
            array('name_body' => 'nokia_e61_1',
                  'name_ext'  => 'jpg'),
            array('name_body' => 'nokia_e61_2',
                  'name_ext'  => 'jpg'),
            array('name_body' => 'nokia_e61_3',
                  'name_ext'  => 'jpg'),
            array('name_body' => 'nokia_e61_4',
                  'name_ext'  => 'jpg')
        )
    ),
    'main' => 'nokia_e61'
);

수치 적으로 인덱싱 된 이미지를 제공합니다.

array(2) {
  ["additional"]=>
  array(2) {
["count"]=>
int(2)
["image"]=>
array(4) {
  [0]=>
  array(2) {
    ["name_body"]=>
    string(11) "nokia_e61_1"
    ["name_ext"]=>
    string(3) "jpg"
  }
  [1]=>
  array(2) {
    ["name_body"]=>
    string(11) "nokia_e61_2"
    ["name_ext"]=>
    string(3) "jpg"
  }
  [2]=>
  array(2) {
    ["name_body"]=>
    string(11) "nokia_e61_3"
    ["name_ext"]=>
    string(3) "jpg"
  }
  [3]=>
  array(2) {
    ["name_body"]=>
    string(11) "nokia_e61_4"
    ["name_ext"]=>
    string(3) "jpg"
  }
}
}
["main"]=>
string(9) "nokia_e61"
}

//and then the smarty bit
{$imagelist.additional.image[0].name_body}
{$imagelist.additional.image[1].name_body}
{$imagelist.additional.image[2].name_body}
{$imagelist.additional.image[3].name_body}
{php}echo $imagelist['additional']['image'][$getvars['imagename']]['name_body'];{/php}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top