我已经完成了一个分页系统,并且正在使用LinkPager小部件,但是这是在开始时生成带有??
的链接,而不是像它应该的那样?
。
这似乎是因为我的网址管理器规则:
'foo/<name:[0-9a-zA-Z'-]+>.<some_id:'d+>/?' => 'foo/index',
我需要在末尾包含该?
,否则它无法使用结尾斜杠解析页面。
以下是我如何称呼LinkPager
:
LinkPager::widget(['pagination' => $pagination, 'options' => ['class' => 'clearfix']]);
其中$pagination
显然是分页实例。
有什么方法可以阻止它,包括双问号?
问题出在网址规则的这一部分:/?
.你不能像这样指定尾部斜杠,正则表达式是错误的,并且在模式之外。您也不能将其设置为可选。
如果要使用尾部斜杠,请将规则声明更改为扩展版本,并将斜杠指定为suffix
如下所示:
[
'pattern' => 'foo/<name:[0-9a-zA-Z'-]+>.<some_id:'d+>',
'route' => 'foo/index',
'suffix' => '/',
],
在官方文档的相应部分中阅读有关指定 url 规则的替代格式的更多信息。
还要检查这个问题。