Я изучаю Perl и использую Dancer в качестве веб-фреймворка. У меня есть два представления (tt-файлы), которые должны использовать одну и ту же навигацию. Итак, было бы здорово начать изучать, как управлять шаблонами для навигации и нижних колонтитулов.
Я прочитал документацию по Template Toolkit и сделал следующее:
Я изменил файл config.yml
на:
#template: "simple"
template: "template_toolkit"
engines:
template_toolkit:
start_tag: '[%'
end_tag: '%]'
Я определил шаблоны в файле .pm
:
package proyecto;
use Dancer ':syntax';
our $VERSION = '0.1';
get '/' => sub {
template 'index';
};
get '/menu' => sub {
template 'menu';
};
true;
В шаблоне указателя есть ссылка, по которой посетитель может перейти к шаблону меню:
<li class="active">< a href="/menu">Menu <span class="sr-only"></span></a></li>
Я хотел бы повторно использовать код навигации из index.tt в menu.tt, поэтому я заключил код навигации в index.tt следующим образом:
[% BLOCK navigation %]
#my nav code
[% END %]
Чтобы наконец включить этот код в файл menu.tt, я написал следующее (где должен быть код навигации):
[% navigation = 'index.tt' %]
[% INCLUDE navigation %]
Файлы index.tt
и menu.tt
находятся в представлениях папок. Но, похоже, не все так просто! = (Любые предложения о том, как повторно использовать код из одного файла в другой, который находится в том же каталоге?
start_tag
иend_tag
должны иметь больший отступ, чем директиваtemplate_toolkit
. - person ThisSuitIsBlackNot   schedule 03.05.2016