Y a-t-il un moyen de passer des paramètres à passer des paramètres aux extraits?
J'essaie d'écrire un filtre plurainy em> pour ma page qui affichera le mot "utilisateur" ou "utilisateurs" en fonction de combien il y a: p> la façon dont il fonctionne dans Django est appelé filtres et ils sont écrits comme suit: p> donc ici vous pouvez voir La fonction de pluralisation em> prend un entier num_messages em> et des sorties et une chaîne appropriée - soit vide "" ou "S". p> EDIT: Notez que les Num_Messages < / Fort> Dans ce cas, une variable de contexte réelle est transmise au gabarit de la vue. p> p>
3 Réponses :
Vous pouvez passer des paramètres à des extraits, oui.
<div class="lift:MySnippet.foo?myparam=3"/>
Sauf que l'on ne devrait jamais utiliser open_ !. Au lieu de: VAL X = S.ATTR ("MyParam") Openor "Mec, MyParam n'est pas défini"
HM ... Mais pourrais-je réellement passer une valeur de contexte, comme Num_Messages (ci-dessus) à l'extrait?
Aussi - y a-t-il un moyen de se débrouiller sans ces "cases"? Je ne sais pas comment c'est mieux que l'option - juste plus déroutant.
Aussi que signifie "
j'ai {x}! P>" signifie? Comment pouvez-vous simplement insérer du code HTML dans le code SCALA comme ça? J'ai essayé - ça marche, mais c'est bizarre!
@Drozzy case code> est i> similaire à i> option code>, mais a une belle fonctionnalité supplémentaire, comme être capable de porter une défaillance / exception ainsi que d'être < Code> complet (x) code> ou
vide code>. Je ne suis pas un expert, mais voici une certaine lecture pour regarder: blog.getintheloop.eu/2010/04/16/unStanding-lifts-Blext-Mon ad . Je ne pense pas que vous puissiez éviter
case code> dans l'ascenseur et une fois que vous avez commencé à l'utiliser, vous commencerez à l'apprécier.
@Drozzy "
J'ai {x}! p>" est un littéral XML qui est une caractéristique du langage Scala (non spécifique au soulevant).
@overthink a laissez-nous Continuer cette discussion dans chat
<div id="main" class="cl1 cl2 lift:surround?with=default;at=content"> This is also a snippet invocation with parameters.See lift docs: Lift docs, 3.4.1 Snippets in markup In order to indicate that content is dynamic, the markup contains a snippet invocation. That typically takes the form class="someclass someothercss lift:mysnippet". If a class attribute contains lift:xxx, the xxx will be resolved to a snippet. The snippet may take attributes. Attributes are encoded like URL parameters... offset by a ? (question mark), then name=value, separted by ? (question mark), ; (semicolon) or & (ampersand). name and value are URL encoded.
Tu ne peux pas le faire comme ça. et votre code de levage ressemblerait à quelque chose comme: p> class MyClass {
def render = "num_messages" #> (num_messages + pluralize("message", num_messages))
}
Superbes! Je me demande si je pouvais l'injecter en plusieurs identifiants en même temps. Mais c'est une autre question ...