Пробема с {if} {include}

Styler

Guest
Пробема с {if} {include}

Вопрос конечно глупый и ламерский - но со Смарти я впервые столкнулся и проблема моя вот в чем - не работает вот такой участок кода :
PHP:
{if $p == "1" or $p == " "}
  {include file="table.tpl"}
{else}
  {include file="table_1c.tpl"}
{/if}
Задача состоит в том чтобы в зависимости от значения переменной $p грузить разные таблицы (с разной версткой).
Значение $p передается по ссылкам.
Заранее спасибо.

-~{}~ 31.01.05 16:11:

При выполнении этого кода всегда выполняется условие else
 

Styler

Guest
В том то и дело что $p=1
В самом скрипте где парсятся шаблоны я пишу echo($p); и получаю на екран единицу.

-~{}~ 31.01.05 16:28:

Такое впечатление что в шаблоне эту переменную просто невидно.
Может я чего намутил с синтаксисом ?
 

Demiurg

Guest
это у тебя в скрипте $p == 1 а у смарти свои переменные.
напиши {$p} перед условием.
 

Styler

Guest
Так не срабатывает.
{$p} ничего не отображает.
в связи с чем может такое происходить ?
 

Styler

Guest
Сделал точно как в примере из мануала. Ничего не работает.
Может это быть из-за особенностей настройки сервера ?

{if $name == "Fred" || $name == "Wilma"}
...
{/if}
 

Styler

Guest
alexhemp да конечно передал.
Как ни странно но проблема решилась как только я сменил $p на $page
 

Demiurg

Guest
как ни странно, ты до сих пор не понял разницы между переменными smarty и переменными php.
 

Styler

Guest
Demiurg я ничего не менял в коде кроме названия переменной.
Все заработало.
Как и было написано выше даже полное повторение кода из мануала ничего не дало. Assign был изначально.
 

Demiurg

Guest
Значит у тебя в смарти нет переменной 'p' а есть переменная 'page'
 

Styler

Guest
Вообщем - я не знаю что это было :))) но теперь работает !
Всем спасибо за помощь и респект !
 
Сверху