我已经完成了分页系统并使用了LinkPager窗口小部件,但这会在开始时生成与??
的链接,而不是?
。
这似乎是因为我的UrlManager规则:
'foo/<name:[0-9a-zA-Z\-]+>.<some_id:\d+>/?' => 'foo/index',
我需要在结尾处包含?
,否则无法解析带有结尾斜杠的页面。
以下是我致电LinkPager
的方式:
LinkPager::widget(['pagination' => $pagination, 'options' => ['class' => 'clearfix']]);
$pagination
显然是Pagination个实例。
有什么方法可以阻止它,包括双重问号?
答案 0 :(得分:1)
问题出在网址规则的这一部分:/?
。你不能像这样指定尾部斜杠,正则表达式是错误的并且在模式之外。你也不能选择它。
如果要使用尾部斜杠,请将规则声明更改为扩展版本,并将斜杠指定为suffix
,如下所示:
[
'pattern' => 'foo/<name:[0-9a-zA-Z\-]+>.<some_id:\d+>',
'route' => 'foo/index',
'suffix' => '/',
],
详细了解在官方文档corresponding section中指定网址规则的替代格式。
同时检查此question。