在页面过滤器中使用数组变量
Using array variables in page filter
这是代码
<a href="{{ 'questions' | page({Filter[search] : 1}) }}">{{category.name}}</a>
它应该生成像
这样的 URL
http://localhost/vos-questions?Filter[search]=1&Filter[categories]=3&Filter[sort]=published_at+desc
但是没有用!如果我尝试改用 'Filter[search]' : 1
,则会生成 URL 但没有过滤器参数。
目标页面 ('questions') 使用 :page 参数定义,未定义过滤器参数。
title = "questions"
url = "/vos-questions/:page?"
我做错了什么?
嗯,不行
你的 url 是这样的 url = "/vos-questions/:page?"
所以 page
必须是参数并且会这样考虑
/vos-questions/test => now in code `page` param's value will be `test`
如果你真的需要 url 那么有更好的解决方案。
// question page
title = "questions"
url = "/vos-questions" <- we remove param here as we pass it manually
// now html code
<a href="{{'questions'|page }}?Filter[search]=1&Filter[categories]=3&
Filter[sort]=published_at+desc">{{category.name}}</a>
它应该像预期的那样工作它将生成 url 像这样
http://localhost/vos-questions/?Filter[search]=1&Filter[categories]=3&Filter[sort]=published_at+desc
如果你想传递动态值,你也可以这样做
// suppose $search = 2 in code and $cat = 30
<a href="{{'questions'|page }}?Filter[search]={{ search }}
&Filter[categories]={{ cat }}
&Filter[sort]=published_at+desc">{{category.name}}</a>
这样生成的url将是
现在在代码中,您可以使用 Input
获取此值
https://octobercms.com/docs/services/request-input
$filter = \Input::get('Filter');
echo $filter['categories']; // => 30
如有疑问请评论。
这是代码
<a href="{{ 'questions' | page({Filter[search] : 1}) }}">{{category.name}}</a>
它应该生成像
这样的 URLhttp://localhost/vos-questions?Filter[search]=1&Filter[categories]=3&Filter[sort]=published_at+desc
但是没有用!如果我尝试改用 'Filter[search]' : 1
,则会生成 URL 但没有过滤器参数。
目标页面 ('questions') 使用 :page 参数定义,未定义过滤器参数。
title = "questions"
url = "/vos-questions/:page?"
我做错了什么?
嗯,不行
你的 url 是这样的 url = "/vos-questions/:page?"
所以 page
必须是参数并且会这样考虑
/vos-questions/test => now in code `page` param's value will be `test`
如果你真的需要 url 那么有更好的解决方案。
// question page
title = "questions"
url = "/vos-questions" <- we remove param here as we pass it manually
// now html code
<a href="{{'questions'|page }}?Filter[search]=1&Filter[categories]=3&
Filter[sort]=published_at+desc">{{category.name}}</a>
它应该像预期的那样工作它将生成 url 像这样
http://localhost/vos-questions/?Filter[search]=1&Filter[categories]=3&Filter[sort]=published_at+desc
如果你想传递动态值,你也可以这样做
// suppose $search = 2 in code and $cat = 30
<a href="{{'questions'|page }}?Filter[search]={{ search }}
&Filter[categories]={{ cat }}
&Filter[sort]=published_at+desc">{{category.name}}</a>
这样生成的url将是
现在在代码中,您可以使用 Input
https://octobercms.com/docs/services/request-input
$filter = \Input::get('Filter');
echo $filter['categories']; // => 30
如有疑问请评论。