🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
4 messages
4 total messages Started by Calamitas Fri, 03 Jul 2009 19:41
Alternatywa dla HTM::Template
#51485
Author: Calamitas
Date: Fri, 03 Jul 2009 19:41
62 lines
3792 bytes
Witam,

Potrzebuję jakiegoś wygodnego modulu do szabolonów. Znam HTML::Temlate, ale 
przestaje mi on wystarczać. Jest sporo tego, możecie doradzić co wybrać?

Z wstępnego przejrzenia dokumentacji wytypowałem POE, Catalyst i Masonm ale 
by sprawdzić, co rzeczywiście te rzeczy potraią, musiałbym poświęcić sporo 
czasu na ich poznanie i wypróbowanie... 

Który z istniejących modułów spełnia poniższe oczekiwania, lub daje możliwość 
dorobienia takich funkcjonalności:

1. Możliwość stosowania komponentów - obiektowych modułów, o których 
istnieniu "nie wie" sam engine aplikacji.
Przykładowo w szablonie wpisuje coś w stylu <TMPL_COMPONENT 
OBJECT="MyModule::Task->new('<TMPL_VAR NAME=\"TASK\" />')" METHOD="display
(style => 'compact', cols => 2" />
A engine wyszuka sobie perlowy moduł MyModule::Task, zainicjuje go z podanym 
parametrem, a potem wykona na nim metodę display z podanymi argumentami i 
zwrócony ciąg wklei w to miejsce.
To przykład - chodzi mi o wyrzucenie pewnych komponentów do modułów - często 
są to obiekty typu DBIx::Class oparte o bazę danych - chciałbym móc dorzucać 
nowe komponenty, poprzez dogranie modułu, by móc potem je wykorzystywać tylko 
poprzez umieszczenie odwołania do niech w szablonie, bez konieczności 
grzebania w pozostałym kodzie (co najwyżej restart aplikacji).

2. Rekurencyjne przetwarzanie szablonu - by tekst zwrócony przez przykład z 
punktu wyżej mógł także zostać sparsowany jako szablon.
Oczywiśe to powinno także dotyczyć plików include'owanych (jak TMPL_INCLUDE z 
HTML::Temlate)

3. Fajnie by było, jakby szablon mógł być poprawnym plikiem XML - coby edytor 
się nie darł.

4. Z drugiej strony dobrze by było, gdyby mechanizm nie wymuszał tworzenia 
poprawnej składni HTML/XML, ale to chyba wszystkie moduły mają...

5. Opjonalnie - pewnie nic 'z pudełka' tego nie ma, ale może coś daje 
możliwość dorobienia tego: gdy parser natrafia na fragment taki jak w pkt 1, 
to próbuje wykonać na tym metodę o jakimś z góry ustalonym identyfikatorze 
(np. header_includes) i jeśli taka istnieje, to to, co zwraca wstawiało w 
sekcji HEAD nagłówka.
Chodzi mi o to, by wstawiać ew. skrypty javascriptowe czy CSSy. Oczywiście 
przy spełnieniu pkt 1 da sę to zrobić wpisując odpowiedni fragment w 
nagłówku, ale mi chodzi o działanie automtyczne, by łatwiej stworzyć 
komponenty będące pojemnkami na kolejne komponenty (bez modyfikacji szablonu 
głwónego).

6. Zupeły bajer - miło by było, jakby engine dawał się łatwo spiąć z 
Log::Log4perl (jak DBIx::Class)

7. Dobra dokumentacja. To co znalazłem, szczególnie dla POE ciężko mi nazwać 
dobrą dokumentacją :-(

Z góy dziękuję za wszystkie sugestie. Odpowiedzi tupu "chłopie, zabierasz się 
do tego od d*** strony" także miło widziane, o ile zechcecie rozszerzyć taką 
wypowiedź o sekcję 'dlaczego' ;-P

Radek

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Alternatywa dla HTM::Template
#51503
Author: hubert depesz lubaczewski
Date: Fri, 03 Jul 2009 20:40
25 lines
1778 bytes
On 2009-07-03, Calamitas <calamitas@NOSPAM.gazeta.pl> wrote:
> Potrzebuję jakiegoś wygodnego modulu do szabolonów. Znam HTML::Temlate, ale 
> Z wstępnego przejrzenia dokumentacji wytypowałem POE, Catalyst i Masonm ale 

ekhem.
chcesz moduł do szablonów i wybrałeś te 3?

chwila wyjaśnienia:
POE - to jest framework do pisania aplikacji opartych o zdarzenia. nie
ma absolutnie nic wspólnego z szablonami.
Catalyst - framework do pisania aplikacji webowych. z szablonami ma to
wspólnego, że jakichś używa (dowolnych, nie ma jednego wbudowanego
języka szablonów "catalyst")
Mason - nie używałem, ale pierwsze zdanie z doca: "Mason is a tool for
building, serving and managing large web sites" nie sugeruje by to był
system szablonowania.

Ogólnie - system szablonowania jest de facto jeden: Template Toolkit
(cpan -> install Template).

depesz

-- 
Linkedin: http://www.linkedin.com/in/depesz  /  blog: http://www.depesz.com/
jid/gtalk: depesz@depesz.com / aim:depeszhdl / skype:depesz_hdl / gg:6749007
Re: Alternatywa dla HTM::Template
#51504
Author: Stachu 'Dozzie' K.
Date: Sun, 05 Jul 2009 02:06
28 lines
1971 bytes
On 03.07.2009, hubert depesz lubaczewski wrote:
> On 2009-07-03, Calamitas <calamitas@NOSPAM.gazeta.pl> wrote:
>> Potrzebuję jakiegoś wygodnego modulu do szabolonów. Znam HTML::Temlate, ale 
>> Z wstępnego przejrzenia dokumentacji wytypowałem POE, Catalyst i Masonm ale 
>
> ekhem.
> chcesz moduł do szablonów i wybrałeś te 3?
>
> chwila wyjaśnienia:
[...]
> Mason - nie używałem, ale pierwsze zdanie z doca: "Mason is a tool for
> building, serving and managing large web sites" nie sugeruje by to był
> system szablonowania.

Zasadniczo HTML::Mason to *jest* system szablonów z osadzonym Perlem
w środku. I paroma ułatwieniami do przejmowania argumentów formularza.
I praktycznie przezroczystym dziedziczeniem między szablonami. I paroma
innymi dodatkami, które w sumie robią z niego perlową konkurencję dla
PHP.

> Ogólnie - system szablonowania jest de facto jeden: Template Toolkit
> (cpan -> install Template).

Template::Toolkit albo HTML::Mason. Innych frameworków dla Perla w sumie
nie pamiętam, zdaje się że żaden nie jest dość popularny.

-- 
Stanislaw Klekot
Re: Alternatywa dla HTM::Template
#51505
Author: Maciej Misiak
Date: Sun, 05 Jul 2009 16:52
17 lines
1753 bytes
hubert depesz lubaczewski pisze:
> On 2009-07-03, Calamitas <calamitas@NOSPAM.gazeta.pl> wrote:
>> Potrzebuję jakiegoś wygodnego modulu do szabolonów. Znam HTML::Temlate, ale 
>> Z wstępnego przejrzenia dokumentacji wytypowałem POE, Catalyst i Masonm ale 
> 
> Mason - nie używałem, ale pierwsze zdanie z doca: "Mason is a tool for
> building, serving and managing large web sites" nie sugeruje by to był
> system szablonowania.

Używałem Masona tylko w zastosowaniach webowych, ale ten fragment:
http://www.masonhq.com/docs/manual/Admin.html#using_mason_from_a_standalone_sc
sugeruje, że jednak da się go wykorzystać tak jak OP sobie życzy.
Do OP: z pewnością opcji i możliwości parsowania ma full, ja znam może z 
5% i wystarcza mi w zupełności do prostego projektu BD + GUI w WWW.

-- 
grizzley
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads