2016-03-23 7 views
2

Ich habe eine FunktionKann ich ein Makro aus Funktion in FTL rufen

[#function func a] 
    [@print_name "john doe"/] 
[/#function] 

sagen, dass ich ein Makro haben sagen

[#macro print_name name] 
    ${name} 
[/#macro] 

Ist es gültig das Makro von der Funktion aufzurufen, und wird es drucken alles auf der Seite?

Antwort

3

Sie können das tun, aber die Makroausgabe wird automatisch gelöscht, wenn Sie nur das Makro aufrufen. Normalerweise, wenn Sie ein Makro von einer Funktion aufrufen und seine Ausgabe als Ergebnis der Funktion zurückgeben müssen, ist etwas nicht mehr da. (Funktionen von Makros Aufruf ist üblich, aber das Gegenteil ist nicht.) Aber es ist machbar:

[#function func a] 
    [#local r][@print_name "john doe"/][/#local] 
    [#return r] 
[/#function] 

Beachten Sie, dass der Wert Rückkehr wird nicht eine Zeichenfolge, wenn Sie das Auto-Flucht verwenden Merkmal 2.3. 24 mit einem escape-Ausgabeformat (wie HTML). Dann wird es vom Typ "Markup-Ausgabe" sein (um doppeltes Entkommen zu verhindern).

Verwandte Themen