问题标签 [text-xslate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 从 Text::Xslate 中的 Template::Toolkit 获取 WRAPPER 功能
我在最近的几个Catalyst项目中使用了Template::Toolkit ,并且有一个我喜欢使用的设置,它可以清晰地分离我的模板。现在我希望使用Text::Xslate,但我无法确定是否可以进行相同的设置。以下是我通常为 Template::Toolkit 提供的内容。
包装
html
布局
然后页眉和页脚有自己的内容。我喜欢这个解决方案,因为一切都被干净地分开了,而且我不会通过将开始标签放在页眉中并将结束标签放在页脚中来分解内容周围的任何 div 标签。看起来TTerse语法有一些包装功能,但我不确定这是否允许我重新创建我通常做的事情。我还发现这个答案说你可以在理论上使用包装器,但并没有真正给出任何例子。
perl - Text::Xslate 为函数调用返回不正确的值
我将Text::Xslate与HTML::FormHandler一起使用(HTML::FormHandler 实际上由CatalystX::SimpleLogin在幕后使用,以防万一)。我正在使用 Text::Xslate 的TTerse语法并尝试在我的模板中显示错误,如下所示:
如果我只是打印出来
它返回CatalystX::SimpleLogin::Form::Login=HASH(0x7fbb21722a20)
,这是我所期望的。但是当我调用error_fields
它时,它只返回一个1
. 但是,当我使用Template::Toolkit而不是 Text::Xslate 时,它可以正常工作并显示错误。有谁知道为什么error_fields
返回一个数字而不是一个数组?
perl - 过滤 Text::Xslate 中的内容
在梅森我可以定义一个过滤器:
后来我可以使用它
结果
例如,该$yield->()
方法返回封闭过滤器内部的所有内容。
想要使用Text::Xslate实现相同的功能,但不知道如何。
我发现的最接近的东西是我可以写的宏块:
并将其用作
但my string
必须引用和:
标记,因此不可能使用任何免费的 html 文本。例如以下死亡。
经过长篇介绍,问题很简单:
存在于Text::Xslate
作为 Mason$yield->()
调用的某事中,它返回封闭过滤器调用的内容?(或者如果不存在,我怎么能模仿它?)
perl - 如何在 Text::Xslate 中级联包含的模板?
在Text::Xslate中是cascade
将特定模板(或在其他模板引擎中包装)到主模板的好方法。也可以将include
公共块放入模板中。
我想将include
特定的模板分块到cascade
主模板中,但在某种程度上,include
d 模板的部分替换(around
关键字)main 中的一些命名部分。
简化的测试用例
主文件
模板/some.tx
模板/main.tx
模板/included.tx
期望的输出
所以输出中的第三行是不对的,如果我在some.tx
有用。
但是如何包含应该级联到主模板的块?