Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Присвоить значение переменной шаблона, TemplateTookit 
V
    Опции темы
OutlawZ
Дата 27.3.2012, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 269
Регистрация: 19.10.2007

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



Привет всем, есть вопрос по поводу использования TT, те кто знает скажите можно ли использовать переменные перл для присвоения их переменным шаблона?

Код


[% PERL %]
  my $string = 'Текст';
[% END %]
<p>[% txt %]</p>



Т.е вставка перл кода и после всех вычислений передать значения в переменные шаблона. [% txt = $string %] не помогло. 


--------------------
user posted image
user posted image
PM MAIL   Вверх
vadiml
Дата 27.3.2012, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В блоке [% txt = $string %]  $string является ссылкой.

А переменная должна выглядеть как просто string. 
Хотя я сомневаюсь что переменная объявленная как my $string будет видна за пределами PERL блока -- 
ведь фактически вы вызываете
eval{
   my $string = 'Текст';
};
Проверить сейчас не могу.



А зачем Вам вообще PERL-блок? в TT есть все основные операции, в т.ч. и регулярка.
А что-то крупнее пары строк кода должно делаться заранее.
PM MAIL Jabber   Вверх
alezzz
Дата 27.3.2012, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


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

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



Код

[% PERL %]
    my $string = 'Текст';
    $stash->set(txt => $string);
[% END %]
<p>[% txt %]</p>


И соглашусь с vadiml, незнаю что у вас за ситуация, но думаю можно обойтись без кода perl в шаблоне.

Это сообщение отредактировал(а) alezzz - 27.3.2012, 23:24
PM MAIL   Вверх
OutlawZ
Дата 27.3.2012, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 269
Регистрация: 19.10.2007

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



Спасибо, да я вас понимаю просто делаю проект на TT впервый раз, обычно делал все на Mason и от него этот стиль использую когда в шаблоне можно сделать выборку и подключить в основной, просто не доконца понял TT.

У меня структура проекта такая:

index.html в нем вызываются head.html, menu.html, body.html, footer.html, но в menu.html вызывается еще компонент user_menu.html, так же есть right.html в нем вызываются еще около 5 компонентов news.html, top3.html, partners.html, anons.html, search.html.

В начале делал все так, главный скрипт собирал всю информацию которую надо вывести и передавал шаблонам значения в качестве параметров:
Код

my $vars = {
    head    => $title,
    menu   => \@menu,
        body    => \@data,
        footer  => \@info
};


Но застрял на том что в нутри других шаблонов вызываются еще шаблоны вот как им передавать значения что бы они отработали вот тут я и застрял.
В начале просто были скрипты index.pl который собирал всю информацию для главной, article.pl все данные для материалов, но получалось что каждый я доставал информацию для меню и подвала. Шаблоны росли, поэтому решил зайти с этого края. 

Всем спасибо, понял что надо покурить мануалы.  smile 


--------------------
user posted image
user posted image
PM MAIL   Вверх
vadiml
Дата 28.3.2012, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В Mason-e другая идеология -- он относительно полноценен.

А TT лучше использовать например с Catalyst-ом, т.е. TT будет чистым шаблоном почти без кода.
Но вообще немного TT тяжеловат, хотя обратная сторона этого -- большая функциональность.

Если у Вас нет какой-то обязательной завязки на TT, то возможно лучше посмотреть на Mojo, он легковеснее и внешне больше похож на Mason.
PM MAIL Jabber   Вверх
OutlawZ
Дата 29.3.2012, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 269
Регистрация: 19.10.2007

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



Переписал все, сделал так что бы не каких вызовах в шаблонах не было , все готовится зарение и потом просто данные вывожу.
Установил Mojo что бы посмотреть что это за web из коробки , был очень потрясен, это же рай, сейчас усилино его изучаю, свобода. smile


--------------------
user posted image
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




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


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

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