首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在页面过滤器中使用数组变量

在页面过滤器中使用数组变量
EN

Stack Overflow用户
提问于 2018-09-28 02:50:04
回答 1查看 51关注 0票数 0

这是代码

代码语言:javascript
复制
<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。

目标页面(‘问题’)是使用:页面参数定义的,未定义筛选器参数。

代码语言:javascript
复制
title = "questions"
url = "/vos-questions/:page?"

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-28 03:31:47

您的url类似于此url = "/vos-questions/:page?",因此参数必须为page,并将按如下方式考虑

代码语言:javascript
复制
/vos-questions/test => now in code `page` param's value will be `test`

如果你真的需要这个url,那么有更好的解决方案。

代码语言:javascript
复制
// 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

如果你想传递动态值,你也可以这样做

代码语言:javascript
复制
// 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>

http://localhost/vos-questions/?Filter[search]=2&Filter[categories]=30&Filter[sort]=published_at+desc

现在,在代码中,您可以使用Input获取此值

https://octobercms.com/docs/services/request-input

代码语言:javascript
复制
$filter = \Input::get('Filter');
echo $filter['categories']; // => 30

如果有任何疑问,请发表意见。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52543392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档