Smarty - Начало публикации / Переменные сессии - PullRequest
5 голосов
/ 31 августа 2011

Я работаю над функцией "В моей корзине" на сайте покупок. Я соединяю это на productid. Я добавил данные в сообщение, когда вы добавляете их в корзину. Отправляемая переменная: productid .

Я использовал Это в качестве руководства для вывода переменной productid. Но я просто не получаю ответ со страницы.

Код, который я использую: {$smarty.request.productid}

Я использую файл TPL ЗДЕСЬ Я работаю над

, который является строкой 69.

Кажется, это выводится с примером SERVER_NAME. Но мне нужен этот эквивалент PHP $ _POST VAR.

Кто-нибудь имеет представление о том, что мне нужно сделать, чтобы просмотреть продукт и показать его на экране, тогда я могу сделать заявление IF, основываясь на этом.

Также стоит отметить, что я использую версию 2.6.20 Smarty

Надеясь, что кто-то может помочь мне с этим. Похоже, что smarty просто не показывает переменные сеанса вообще ...

Ответы [ 3 ]

22 голосов
/ 05 сентября 2011

Использование {$ smarty.request.productid} позволит получить только те значения, которые были в массиве $ _POST или массиве $ _GET. Для сессионных переменных вы бы просто использовали «сессию», как в {$ smarty.session.productid}. С smarty то же самое относится к

  • $ _ POST - {$ smarty.post.productid}
  • $ _ GET - {$ smarty.get.productid}
  • $ _ REQUEST - {$ smarty.request.productid} (запрос будет получать переменные как от $ _POST, так и от $ _GET)
  • $ _ SESSION - {$ smarty.session.productid}

Поместите это в верхнюю часть вашего файла TPL, и он будет всплывать со всеми назначенными умными переменными

{debug}

Хотите посмотреть, что на сессии? Поместите это в начало вашего файла TPL

{php}
print_r($_SESSION);
{/php}
2 голосов
/ 05 сентября 2011

Если вы не можете отладить, у вас есть другая альтернатива.

В файле PHP:

$ smarty-> assign ('request_var', $ _ REQUEST ['var1']));

В Smarty TPL,

Использовать {$ request_var}

0 голосов
/ 08 сентября 2011

Кстати: при печати пользовательского ввода всегда используйте модификатор escape.В противном случае ваше приложение уязвимо (XSS и т. Д.).

{$smarty.post.productid|escape}

...