Vitesse #parse mais l'affecter à une variable
Dire que vous avez un modèle standard avec inclus (analysé) en-tête, corps, pied de page des modèles.
Dans le corps du modèle une variable comme $sujet est défini et que vous souhaitez également affiché dans l'en-tête du modèle.
Dans certaines autres langues de modèle comme le HTML::Maçon(perl) vous permettrait d'évaluer le corps de modèle de premier le $subject variable mais en magasin il est sortie temporairement dans une variable afin que votre sortie finale pourrait se retrouver dans le bon ordre (en-tête, corps, pied de page)
De la vitesse, il devrait ressembler à quelque chose comme
set ($corps=#parse("corps.vm"))
parse("en-tête.vm")
${corps}
parse("pied de page.vm")
Toutefois, cela ne semble pas fonctionner, toute réflexion sur la façon de faire cela?
OriginalL'auteur | 2008-10-17
Vous devez vous connecter pour publier un commentaire.
L'une des deux solutions ci-dessus serait de travailler. Le VelocityLayoutServlet solution nécessite un paquet supplémentaire (également à partir de la Vitesse) appelée Vitesse d'Outils. Je suis partie à cette approche (et variantes) moi-même.
Une troisième méthode consiste tout simplement à mettre le #parse dans les citations:
Dans un #set, rien de guillemets est évaluée. Les chaînes à l'intérieur des guillemets simples sont passés dans l'littéralement.
OriginalL'auteur Will Glass
Vous pouvez faire cela en utilisant VelocityLayoutServlet qui fait partie de VelocityTools.
Cela vous permet de définir une mise en page pour votre application -- appelons ça de la
application.vm
-- dans laquelle vous pouvez analyser les en-têtes, pieds de page, etc et de les déclarer où le corps principal contenu est placé à l'aide de lascreen_content
déclaration électronique.g:VelocityLayoutServlet
sera evalulate les modèles (et, par conséquent, les variables) avant de rendu qui permet de définir un$subject
variable dans votre corps, modèle, e.g:Des informations plus détaillées peuvent être trouvées dans la Vitesse de la documentation.
OriginalL'auteur Olly
Si je vous comprends bien, vous voulez avoir une Vitesse variable nommée
$subject
interpolées dans leheader.vm
et labody.vm
modèles. Maintenant, la variable est définie dans lebody.vm
modèle, de sorte que vous ne peut pas se référer à la version antérieure du modèleheader.vm
.Pourquoi ne pas abstraction de la définition de $sujet dans son propre modèle extrait de code, appelé
globals.vm
dire, puis de l'inclure dans le modèle. Donc, si vous voulez avoir:OriginalL'auteur Dov Wasserman