我已经在液体中写了一个自定义标签,我想将变量传递给它.Liquid标签会将任何参数转换为字符串.
例如:
{% nav page /some/url.html %}
Run Code Online (Sandbox Code Playgroud)
页面是变量.
有没有办法让Liquid将页面视为变量而不是字符串?
提前致谢!
Set*_*add 13
如果您专门使用Jekyll,则可以通过以下方式访问页面变量:
def render(context)
page_url = context.environments.first["page"]["url"]
Run Code Online (Sandbox Code Playgroud)
小智 6
我遇到了类似的问题.我通过创建自定义查找方法解决了它:
def look_up(context, name)
lookup = context
name.split(".").each do |value|
lookup = lookup[value]
end
lookup
end
Run Code Online (Sandbox Code Playgroud)
要使用它,请创建以下内容:
def initialize(tag_name, markup, tokens)
@markup = markup
super
end
def render(context)
output = super
if @markup =~ /([\w]+(\.[\w]+)*)/i
@myvalue = look_up(context, $1)
end
do_something_with(@myvalue)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5813 次 |
| 最近记录: |