Smarty цикл над вложенным массивом - PullRequest
0 голосов
/ 19 марта 2012

Здравствуйте. Я хочу напечатать данные вложенного массива, это мой массив: $ result []

массив результатов построен следующим образом

foreach($pictureIds as $pressId) {
    $picture = PressPicture::_getItemByPressId($pressId);
    $result['picture'][] = $picture;
    $pressItem = PressItem::_fromNumber($pressId);

    if($pressItem) {
        $result['title'][] = $pressItem->getTitle();
    }
}

Array
    (
    [picture] => Array
        (
            [0] => PressPicture Object
                (
                    [id] => 21
                    [data] => Array
                        (
                            [id] => 21
                            [press_id] => 3
                            [update_time] => 1331738139
                            [ord] => 1
                        )

                    [dataLang] => 
                    [prettyClassName] => 
                )

            [1] => PressPicture Object
                (
                    [id] => 31
                    [data] => Array
                        (
                            [id] => 31
                            [press_id] => 4
                            [update_time] => 1332144196
                            [ord] => 1
                        )

                    [dataLang] => 
                    [prettyClassName] => 
                )

        )

    [title] => Array
        (
            [0] => Tetsij
            [1] => Persbericht
        )
)

Как это возможно?цикл по этому массиву.Итак, у меня есть мой заголовок, а затем моя фотография.Я попробовал это

{foreach name=outer item=it from=$result}
<li>
    {foreach from=$it item=value key=key}
      {assign var=item value=$value}
      <img src="{$item->getPictureUrl('list', 180, 120, true, false, true)}" alt="{$item->getTitle()}" width="180" height="120" />
     {/foreach}
</li>
{/foreach}

Я могу работать с объектом, но как можно распечатать заголовок, который также находится в массиве?

1 Ответ

0 голосов
/ 19 марта 2012

Используйте ключевой аргумент из картинки foreach в качестве индекса для доступа к массиву заголовков.

{foreach name=outer item=pictures from=$result.picture}
<li>
    {foreach from=$pictures item=pic key=key}
        <img src="{$pic->getPictureUrl('list', 180, 120, true, false, true)}" alt="{$result.title[$key]}" width="180" height="120" />
    {/foreach}
</li>
{/foreach}
...