Изменения в Smarty 2.6.2

sokol

Zavolga.Net
Изменения в Smarty 2.6.2

Вобщем обновился я до этой версии и перестали работать блоки вида:

{php}
for($i = 0; $i < $tpl_var; $i++) echo $i;
{/php}

, где $tpl_var переменная которая была вставлена в шаблон
$smarty->assign('tpl_var', 30);
Раньше все прекрасно работало.

Вот так есно работает:

{php}
for($i = 0; $i < $this->_tpl_vars['tpl_var']; $i++) echo $i;
{/php}

Что изменилось? Как поправить ситуацию на скорую руку? Нигде в документации не могу найти хоть какую то зацепку, ткните носом?

Не говорите что {php}{/php} лучше не использовать, использую в одном крайнем случае.
 

Demiurg

Guest
так если используешь в одном случае, то и менять в одном надо.
 

tony2001

TeaM PHPClub
никогда не юзал {php}, поэтому не в курсе изменений.
а конкретно этот случай решается за 3 сек с помощью {section} & {counter}
Код:
/* {section name="test" loop=$tpl_var} */
{section name="test" loop=25}
{counter}
{/section}
 

sokol

Zavolga.Net
Автор оригинала: tony2001
никогда не юзал {php}, поэтому не в курсе изменений.
а конкретно этот случай решается за 3 сек с помощью {section} & {counter}
Код:
/* {section name="test" loop=$tpl_var} */
{section name="test" loop=25}
{counter}
{/section}
Ну вобщем кое как с кучей извратов получилось сделать с помошью {section} & {counter}
 

Demiurg

Guest
ты бы сказал, что надо, может и без извратов подсказали бы.
 

sokol

Zavolga.Net
Ну например вывести календарь на ткущий месяц,
переменные "загоняемые" в шаблон

1. Количество дней в месяце
2. Смещение первого дня месяца относительно недели
3. Номер текущего дня в месяце

Ну получилось примерно так:
<tr align="center" valign="middle">

{section name="null" loop=$CountNullArea}
<td><p>&nbsp;</p></td>
{/section}

{section name="days" loop=$DayOfMonth}
{if ($smarty.section.days.iteration + $CountNullArea - 1) % 7 eq 0}</tr><tr align="center" valign="middle">{/if}
{if $smarty.section.days.iteration eq $CurrentDay}<td bgcolor="#D0D0D0" style="color: blue;">{counter}</td>
{else}<td bgcolor="#F0F0F0"><p><a href="?newsMonth={$Month}&newsYear={$Year}&newsDay={$smarty.section.days.iteration}" class="gray">{counter}</a></p></td>{/if}
{/section}

</tr>

-~{}~ 26.02.04 18:27:

Ну самое интересно, что вроде бы шаблоны для удобства верстальщиков, что меня улыбает... Неужели верстальшик станет в этом разбираться.
 
Сверху