Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Smarty и многомерные массивы. 
:(
    Опции темы
evilguard
Дата 25.2.2008, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 19.11.2006

Репутация: нет
Всего: нет



Нужно в шаблоне smarty задать многомерный массив. Из php-части не хочу этого делать, так как этот массив не имеет отношения к обработке данных, только к их отображению, да и шаблон этот может использоваться несколькими скриптами, поэтому логичнее всего заполнение этого массива вынести в шаблон:
Код

{assign var = months[1][0] value = "январь"}
{assign var = months[1][1] value = "февраль"}
{assign var = months[1][2] value = "март"}
{assign var = months[1][3] value = "апрель"}
{assign var = months[1][4] value = "май"}
{assign var = months[1][5] value = "июнь"}
{assign var = months[2][0] value = "июль"}
{assign var = months[2][1] value = "август"}
{assign var = months[2][2] value = "сентябрь"}
{assign var = months[2][3] value = "октябрь"}
{assign var = months[2][4] value = "ноябрь"}
{assign var = months[2][5] value = "декабрь"}

В общем такая штука не проходит :( в мануалах ничего не написано что делать в таких случаях.
PM MAIL   Вверх
evilguard
Дата 3.3.2008, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 19.11.2006

Репутация: нет
Всего: нет



Так и не дождался ответа участников) вот другое возможное решение, используя втавку php-кода:

Код

{php}
$months = array(
          1 => array("январь", "февраль", "март",
                "апрель", "май", "июнь"),
          2 => array("июль", "август", "сентябрь",
                "октябрь", "ноябрь", "декабрь")
        );
$this->assign('months', $months);
{/php}


Могут быть возражения, что php код вставлять не следует. Однако в данном случае это вполне вписывается в логику программы - эта часть касается отображения информации и содержится в шаблоне.

Это сообщение отредактировал(а) evilguard - 3.3.2008, 16:16
PM MAIL   Вверх
Feldmarschall
Дата 27.3.2008, 10:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: нет
Всего: 32



evilguard, только один вопрос возникает, на минуточку. А нафига нам, при таком подходе, вообще нужен Смарти  smile 
PM   Вверх
awers
Дата 28.3.2008, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: нет
Всего: 31



evilguard, это по меньшей мере странно
PM MAIL WWW ICQ Skype   Вверх
TUMS
Дата 8.4.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 16.3.2008

Репутация: 1
Всего: 3



Аналогичный вопрос. есть массив вида
Код

Array (
    [0] => Array
        (
            [0] => Array
                (
                    [file_name] => xxx
                    [file_link] => xxx
                    [file_size] => xxx
                    [download_count] => xxx
                    [file_platform] => xxx
                    [file_format] => xxx
                )

            [1] => Array
                (
                    [file_name] => yyy
                    [file_link] => yyy
                    [file_size] => yyy
                    [download_count] => yyy
                    [file_platform] => yyy
                    [file_format] => Source .zip
                )

        )
    [1] => Array
        (
            [0] => Array
                (
                    [file_name] => zzz
                    [file_link] => zzz
                    [file_size] => zzz
                    [download_count] => zzz
                    [file_platform] => zzz
                    [file_format] => zzz
                )

            [1] => Array
                (
                    [file_name] => xyz
                    [file_link] => xyz
                    [file_size] => xyz
                    [download_count] => xyz
                    [file_platform] => xyz
                    [file_format] => xyz
                )

        )
)

Допустим надо сделать таблицу вида
Код

{foreach ...}
<table>
    {foreach ...}
    <tr>        
        <td>$a[???].file_name</td>
        <td>$a[???].file_link</td>
        <td>$a[???].file_size</td>
        <td>$a[???].download_count</td>
        <td>$a[???].file_platform</td>
        <td>$a[???].file_format</td>
    </tr>
    {/foreach}
</table>
{/foreach}


Никак не могу взять в толк, как написать блоки {foreach} :(

Заранее спасибо за помощь.

Это сообщение отредактировал(а) TUMS - 8.4.2008, 16:58
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
ST_Falcon
Дата 18.4.2008, 19:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



TUMS, ну так как ты и написал. второй форич проходит проходит по итемах первого.
Код

{foreach key=key1 item=item1 from=$array} 
<table>
    {foreach key=key2 item=item2 from=$item1}
    <tr>        
        <td>{$item2.file_name}</td>
        ....
    </tr>
    {/foreach}
</table>
{/foreach}


попробуй.
PM MAIL ICQ   Вверх
TUMS
Дата 21.4.2008, 01:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 16.3.2008

Репутация: 1
Всего: 3



ST_Falcon, огромное спасибо, мил человек smile помогло smile осталось только ещё допереть самому что вы написали, а не тупо скопипастить smile
Благодарствую =)
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
ST_Falcon
Дата 21.4.2008, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



TUMS, пожалуйста. а что тут понимать? это вложенный цикл.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




[ Время генерации скрипта: 0.0652 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.