如何解决在template_from_string函数中使用树枝过滤器
我正在使用 Rainlab Translate 和 Vojta Svoboda Twig Extensions 插件使用October CMS创建一个多语言网站。
我正在使用树枝函数template_from_string
在一个模板文件中创建一个链接按钮。
一切正常。 如果我在link属性中使用|media
过滤器,以获取媒体文件的url。
但是,如果我使用|page
过滤器来获取页面网址,则会收到未知“页面”过滤器的错误消息。
<!-- It works: -->
<div>
{% set btn = {
'link': 'foobar.jpg','label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link|media }}" role="button">{{ btn.label }}</a>')) }}
</div>
<!-- It does not work: -->
<div>
{% set btn = {
'link': 'foobar','label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link|page }}" role="button">{{ btn.label }}</a>')) }}
</div>
我一直在解决这个问题,我的问题是:如何使两个过滤器都能工作? 预先感谢您的帮助。
解决方法
我认为您正在忽略东西:)
您可以这样使用
import numpy
def convolve_circularly(a1,a2):
return numpy.round(numpy.abs(numpy.fft.ifft(numpy.fft.fft(a1) * numpy.fft.fft(a2))))
def min_sum_abs_diff(a1,a2):
a1 = numpy.array(a1)
a2 = numpy.array(a2)[::-1]
return numpy.min(convolve_circularly(a1,1 - a2) + convolve_circularly(1 - a1,a2))
def slow_min_sum_abs_diff(a1,a2):
return min(
sum(abs(a1[i] - a2[i - k]) for i in range(len(a1))) for k in range(len(a2))
)
def main():
n = 100
for r in range(100000):
a1 = numpy.random.randint(2,size=n)
a2 = numpy.random.randint(2,size=n)
r = min_sum_abs_diff(a1,a2)
slow_r = slow_min_sum_abs_diff(a1,a2)
if r != slow_r:
print(a1,a2,r,slow_r)
break
if __name__ == "__main__":
main()
您可以使用uint32_t InsertBits(uint32_t input,uint8_t idx,uint8_t bits,uint8_t width)
{
uint32_t mask = ((1UL << width) - 1) << idx;
input &= ~mask;
input |= bits << idx;
return input;
}
并直接通过<div>
{% set btn = {
'link': 'fooba'|page,<-- HERE
'label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link }}" role="button">{{ btn.label }}</a>')) }}
</div>
。您无需在filter on main scope
如有疑问,请发表评论。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。