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

Поиск:

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


Новичок



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

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



Зравствуйте!

Проблема состоит в следующем: массив с индексом number не хотит вовсе выводиться, без индекса - работает. Не могу разобраться в чём причина... ((( Помогите плз, ибо сильно нуждаюсь в ассоциативном массиве. Заранее благодарен.

Код рhр следующий:

Код

    for($j=1; $j<=$num_pages; $j++)
    {
        $pg['number'] = $j;
    }
    $smarty->assign('pages_count', $pg);


Код шаблона:

Код

<table cellpadding="3" cellspacing="1" border="0" align="right">
    <tr>
        {section name=pag loop=$pages_count}
        <td><a href="index.php?page=forum&np={$pages_count[pag].number}" >{$pages_count[pag].number}</a></td>
        {/section}
    </tr>
</table>

PM MAIL   Вверх
skyboy
Дата 20.4.2008, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(Serg22 @  19.4.2008,  23:22 Найти цитируемый пост)
{section name=pag loop=$pages_count}

учитывая твой PHP код, у тебя будет одномерный массив. с одним элементом. ключ этого элемента - "number".
твой smarty-шаблон будет пытаться работать с массивом $pages_count, как с двумерным:
Цитата(Serg22 @  19.4.2008,  23:22 Найти цитируемый пост)
{$pages_count[pag].number}

т.е. учитывая твой PHP код имеем эквивалент:
Код

$pages_count['number']['number']

странно, что Smarty не работает с одномерным массивом под видом двумерного?
PM MAIL   Вверх
Serg22
Дата 20.4.2008, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 smile Спасибо большое  smile !

Проблему исправил вот таким образом:
Код

    for($j=1; $j<=$num_pages; $j++)
    {
        $pages['number'] = $j;
        $pg[] = $pages;
    }
    $smarty->assign('pages_count', $pg);




Это сообщение отредактировал(а) Serg22 - 20.4.2008, 01:02
PM MAIL   Вверх
skyboy
Дата 20.4.2008, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



а не проще ли так:
Код

    for($j=1; $j<=$num_pages; $j++)
    {
        $pages[]= array('number'=> $j);
    }
    $smarty->assign('pages_count', $pages);
?

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


 




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


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

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