J'apprends Perl et utilise Dancer comme framework web. J'ai deux vues (fichiers tt) qui devraient partager la même navigation. Donc, ce serait génial de commencer à apprendre comment gérer les modèles pour la navigation et les pieds de page.Perl Dancer En-têtes de modèles, pieds de page
J'ai lu la documentation de la boîte à outils de modèle et je l'ai fait ce qui suit:
J'ai changé le fichier config.yml
à:
#template: "simple"
template: "template_toolkit"
engines:
template_toolkit:
start_tag: '[%'
end_tag: '%]'
J'ai défini les modèles dans la fichier .pm
:
package proyecto;
use Dancer ':syntax';
our $VERSION = '0.1';
get '/' => sub {
template 'index';
};
get '/menu' => sub {
template 'menu';
};
true;
Il y a un lien dans le modèle d'index diriger le visiteur vers le modèle de menu:
<li class="active">< a href="/menu">Menu <span class="sr-only"></span></a></li>
Je voudrais réutiliser le code de navigation de index.tt dans menu.tt, donc je l'ai enveloppé le code de navigation index.tt avec les éléments suivants:
[% BLOCK navigation %]
#my nav code
[% END %]
Pour inclure enfin que code dans le fichier menu.tt, je l'ai écrit ce qui suit (où le code de navigation doit être):
[% navigation = 'index.tt' %]
[% INCLUDE navigation %]
les fichiers index.tt
et menu.tt
sont situés dans les vues du dossier. Mais il semble que ce ne soit pas si facile! = (Toute suggestion sur la façon de réutiliser le code d'un fichier à un autre qui est situé dans le même répertoire?
Remarque: Les noms de package en Perl commencent par des majuscules par convention. – simbabque
@Ceci me parie parce que je me suis perdu en lisant la documentation quand je cherchais le lien. :) Poster une réponse. – simbabque
@simbabque J'ai d'abord posté un lien dans Dancer2 et l'ai changé ... j'ai dû creuser un peu pour trouver la version Dancer1. Donc je suppose que j'ai triché ?? ;-) – ThisSuitIsBlackNot