Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: $smarty.get.page
 
 автор: Lelik   (24.02.2011 в 18:02)   письмо автору
 
 

Здрасьте всем.

Довелось связатся в разработке со смарти и возникла такая проблема: $smarty.get.page не работает - она не отдаёт в шаблоне ГЕТ-значения...

{if $smarty.get.categoryID == 57 or $smarty.get.categoryID == 116}
    {include file="strahovanie.tpl.html"}
{/if}
Не работает :(


Это произошло после установки винды и соотвественно перенастройке сервера :)

Что можете посоветовать мне, что бы решить эту проблему?

Спасибо

  Ответить  
 
 автор: sim5   (24.02.2011 в 18:41)   письмо автору
 
   для: Lelik   (24.02.2011 в 18:02)
 

Что только это единственное и не работает, а все остальное гут?

  Ответить  
 
 автор: Lelik   (24.02.2011 в 18:42)   письмо автору
 
   для: sim5   (24.02.2011 в 18:41)
 

Ага :) Вот вставлял этот код без ИФ-инструкций - работает:

{include file="strahovanie.tpl.html"}


Пробую вывести на экран ГЕТ-переменную - нифига:

{$smarty.get.categoryID}

  Ответить  
 
 автор: sim5   (24.02.2011 в 18:53)   письмо автору
 
   для: Lelik   (24.02.2011 в 18:42)
 

А она в шаблон то хоть приходит, в смысле есть в наличии?

  Ответить  
 
 автор: Lelik   (24.02.2011 в 18:54)   письмо автору
 
   для: sim5   (24.02.2011 в 18:53)
 

Вы имеете ввиду, что из пхп ничего не приходит? если так, то чт ов смарти отвечает за передачу этих самых ГЕТ-перемнных (я в смарти толком ни понимаю шо к чему)?

  Ответить  
 
 автор: sim5   (24.02.2011 в 19:01)   письмо автору
 
   для: Lelik   (24.02.2011 в 18:54)
 

Чтобы шаблон Смарти увидел переменные их надо ему передать. Ну типа, например:
$smarty->assign("usr", $user);
и т.п. В мануале примеры есть, есть и описание расширений и другое.

  Ответить  
 
 автор: Lelik   (24.02.2011 в 19:10)   письмо автору
 
   для: sim5   (24.02.2011 в 19:01)
 

Спасиба за оптправку в мануал :)

  Ответить  
 
 автор: sim5   (24.02.2011 в 19:13)   письмо автору
 
   для: Lelik   (24.02.2011 в 19:10)
 

Ну а что еще сказать можно? )
Ну каким образом Смарти можно прикрутить к серверу? Он к сайту прикручивается, в нем вы и устанавливаете конфигурацию его, как то путь к нему, к папке шаблонов, кеширования... А если у вас слетело все, значит проблемы в РНР части впервую очередь должны быть, Смарти лишь надстройка на кодом этим.

  Ответить  
 
 автор: Lelik   (24.02.2011 в 19:15)   письмо автору
 
   для: sim5   (24.02.2011 в 19:13)
 

Дело в том, шо эта настройка применяет конструкции по типу:

 $_globals_map = array('g'  => 'HTTP_GET_VARS',
                             'p'  => 'HTTP_POST_VARS',
                             'c'  => 'HTTP_COOKIE_VARS',
                             's'  => 'HTTP_SERVER_VARS',
                             'e'  => 'HTTP_ENV_VARS');

и

$compiled_ref = ($this->request_use_auto_globals) ? '$_GET' : "\$GLOBALS['HTTP_GET_VARS']";

Я об этих участках кода хотел узнать, где их искать, до чтения мануала я и сам дорос. В общем, спасибо, что откликнулись на помощь :)

  Ответить  
 
 автор: sim5   (24.02.2011 в 19:18)   письмо автору
 
   для: Lelik   (24.02.2011 в 19:15)
 

У вас что Смарти такой древний? Смените его, и используйте без этого старья.

  Ответить  
 
 автор: Lelik   (24.02.2011 в 19:23)   письмо автору
 
   для: sim5   (24.02.2011 в 19:18)
 

Обычно на всех созданных мной сайтах я применяю самописный движек.

Так получилось, из-за нехватки времени, что пришлось взять бесплатный движек Shop Script. Там вот такой код :)

  Ответить  
 
 автор: sim5   (24.02.2011 в 19:33)   письмо автору
 
   для: Lelik   (24.02.2011 в 19:23)
 

Ну и что, и я на этом движке когда-то "знакомился", что такое РНР, и работало все отлично без старья. ;-)

Ну есть же мануал, прочтите.

  Ответить  
 
 автор: Lelik   (24.02.2011 в 19:43)   письмо автору
 
   для: sim5   (24.02.2011 в 19:33)
 

Спасибо, нет желания засорять мозг, тем более, что Шот Скрипт это кратковременное решение :)

  Ответить  
 
 автор: Lelik   (24.02.2011 в 19:12)   письмо автору
 
   для: sim5   (24.02.2011 в 19:01)
 

Заработало. Может кому пригодится:

register_long_arrays = Off

в php.ini заменил на

register_long_arrays = On

  Ответить  
 
 автор: sim5   (24.02.2011 в 19:16)   письмо автору
 
   для: Lelik   (24.02.2011 в 19:12)
 

register_long_arrays boolean

Сообщает PHP, следует ли регистрировать устаревшие длинные предопределенные переменные типа $HTTP_*_VARS. Если включены (по умолчанию), длинные предопределенные переменные PHP, например $HTTP_GET_VARS, будут объявлены. Если вы их не используете, рекомендуем отключить их из соображений производительности. Вместо них следует использовать суперглобальные массивы, например $_GET.

=========

И это прлоблемы не со Смарти, а см. выше, причем тут он.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования