отделить макет от шаблонов в perl cgi :: application - PullRequest
1 голос
/ 26 октября 2010

Я создаю приложение perl cgi :: с использованием html :: template.

Я использую 7-8 различных шаблонов с одинаковым макетом - верхний и нижний колонтитулы, левый столбец и т. Д. Как я могу выделить этот HTML-файл из файлов шаблонов в один файл макета.Какие модули Perl мне нужны в дополнение к cgi :: app и html :: template.

Спасибо

Ответы [ 4 ]

6 голосов
/ 26 октября 2010

Я думаю, что Template-Tookit лучше.

Если вам абсолютно необходимо использовать HTML :: Template, вы можете использовать директиву TMPL_INCLUDE . Он будет искать ваши пути к шаблонам или вы можете указать полный путь к другому шаблону. Он также будет обрабатывать переменные в нем.

Вы можете создавать отдельные файлы шаблонов для верхнего и нижнего колонтитула и т. Д., А в шаблонах своих страниц просто TMPL_INCLUDE их. Он менее элегантный и более повторяющийся, чем WRAPPER Template Toolkit (вам придется несколько раз TMPL_INCLUDE на каждой странице для всех общих элементов), но он выполнит работу.

Если можете, потратьте время и используйте Template Toolkit.

1 голос
/ 27 октября 2010

Я не знаю о Template-Toolkit. Поэтому я не буду обсуждать, какое решение является наиболее удобным. Я могу просто дать вам другое решение, которое зависит от сервера, на котором работает ваш cgi. С сервером Apache вы можете использовать в своем html сообщения:

<!--#include virtual="/includes/header/header.htm"-->

Вы можете вызывать htm (статические страницы), а также динамические страницы:

<!--#include virtual="/perl/includes/dynamic.pl"-->

но вы должны сделать некоторые настройки Apache. см. Учебник Apache: введение в состав серверной части

Надеюсь, это поможет, или, по крайней мере, даст некоторые идеи

1 голос
/ 26 октября 2010

Я бы отключил HTML :: Template для Template-Toolkit и использовал бы его директиву WRAPPER .

0 голосов
/ 26 октября 2010

Могут ли люди, которым не нравится HTML :: Template, сказать, почему?В то время как идея Wrapper кажется полезной для этого конкретного автора, нет ничего плохого в идее включений: они более гибкие, и многие веб-разработчики уже знакомы с концепцией нединамической публикации.

...