Mercurial > pub > Impl
comparison Lib/IMPL/Web/TT/Document.pm @ 180:d1676be8afcc
Перекодировка в utf-8
author | sourcer |
---|---|
date | Fri, 30 Dec 2011 23:40:00 +0300 |
parents | 59e5fcb59d86 |
children | 4d0e1962161c |
comparison
equal
deleted
inserted
replaced
179:b3d91ff7aea9 | 180:d1676be8afcc |
---|---|
228 my ($this) = @_; | 228 my ($this) = @_; |
229 | 229 |
230 return $this->context->process($this->template); | 230 return $this->context->process($this->template); |
231 } | 231 } |
232 | 232 |
233 # | 233 # Формирует представление для произвольных объектов |
234 sub _process { | 234 sub _process { |
235 my ($this,@items) = @_; | 235 my ($this,@items) = @_; |
236 | 236 |
237 my @result; | 237 my @result; |
238 | 238 |
284 __END__ | 284 __END__ |
285 =pod | 285 =pod |
286 | 286 |
287 =head1 NAME | 287 =head1 NAME |
288 | 288 |
289 C<IMPL::Web::TT::Document> - , | 289 C<IMPL::Web::TT::Document> - Документ, позволяющий строить представление по шаблону |
290 | 290 |
291 =head1 SYNOPSIS | 291 =head1 SYNOPSIS |
292 | 292 |
293 =begin code | 293 =begin code |
294 | 294 |
305 | 305 |
306 =head1 DESCRIPTION | 306 =head1 DESCRIPTION |
307 | 307 |
308 C<use parent qw(IMPL::DOM::Document)> | 308 C<use parent qw(IMPL::DOM::Document)> |
309 | 309 |
310 , Template::Toolkit. , | 310 Документ, основанный на шаблоне Template::Toolkit. Позволяет загрузить шаблон, |
311 . C<IMPL::DOM::Node>, | 311 и сформировать окончательный документ. Является наследником C<IMPL::DOM::Node>, |
312 .. DOM . | 312 т.о. может быть использован для реализации DOM модели. |
313 | 313 |
314 C<document> . | 314 Внутри шаблона переменная C<document> ссылается на объект документа. По этой |
315 , | 315 причине образуется циклическая ссылка между объектами шаблона и документом, что |
316 C<Dispose> . | 316 требует вызова метода C<Dispose> для освобождения документа. |
317 | 317 |
318 =head1 METHODS | 318 =head1 METHODS |
319 | 319 |
320 =over | 320 =over |
321 | 321 |
322 =item C<CTOR()> | 322 =item C<CTOR()> |
323 | 323 |
324 , C<nodeName> 'C<document>' | 324 Создает новый экземпляр документа, свойство C<nodeName> устанавливается в 'C<document>' |
325 | 325 |
326 =item C<$doc->LoadFile($fileName,$encoding)> | 326 =item C<$doc->LoadFile($fileName,$encoding)> |
327 | 327 |
328 C<$fileName>, C<$encoding>. | 328 Загружает шаблон из файла C<$fileName>, используя кодировку C<$encoding>. Если |
329 , utf-8. | 329 кодировка не указана, использует utf-8. |
330 | 330 |
331 =item C<$doc->Render()> | 331 =item C<$doc->Render()> |
332 | 332 |
333 . | 333 Возвращает данные построенные на основе загруженного шаблона. |
334 | 334 |
335 =item C<$doc->Dispose()> | 335 =item C<$doc->Dispose()> |
336 | 336 |
337 . | 337 Освобождает ресурсы и помечает объект как освобожденный. |
338 | 338 |
339 =back | 339 =back |
340 | 340 |
341 =head1 DOM | 341 =head1 DOM |
342 | 342 |
343 DOM , , | 343 Документ представляет собой DOM документ, состоящий из узлов, которые представляют собой данные |
344 . C<template>. | 344 для отображения. Для форматированого вывода используется C<template>. |
345 | 345 |
346 C<IMPL::Web::TT::Control>, | 346 В качестве элементов документа могут присутсвовать специальные объекты C<IMPL::Web::TT::Control>, |
347 . | 347 которые внутри содержат шаблон для форматирования собственного содержимого. |
348 | 348 |
349 | 349 |
350 | 350 |
351 . | 351 Документ предоставляет ряд фнукций для работы с элементами управления. |
352 | 352 |
353 =head1 TEMPLATE | 353 =head1 TEMPLATE |
354 | 354 |
355 =begin code html | 355 =begin code html |
356 | 356 |
357 [% CALL document.registerClass( 'Table', 'My::TableClass', template => 'tables/pretty.tt' ) %] | 357 [% CALL document.registerClass( 'Table', 'My::TableClass', template => 'tables/pretty.tt' ) %] |
358 [% CALL document.registerClass( 'Form' )%] | 358 [% CALL document.registerClass( 'Form' )%] |
359 | 359 |
360 [% table = document.reateTable('env') %] | 360 [% table = document.сreateTable('env') %] |
361 | 361 |
362 [% FOEACH item in document.result %] | 362 [% FOEACH item in document.result %] |
363 [% table.rows.Add( item.get('name','value') ) %] | 363 [% table.rows.Add( item.get('name','value') ) %] |
364 [% END %] | 364 [% END %] |
365 | 365 |