Я сделал систему нумерации страниц и использую LinkPager виджет, однако это генерирует ссылки с ??
в начале вместо ?
как это должно.
Похоже, это из-за моего правила UrlManager:
'foo/<name:[0-9a-zA-Z\-]+>.<some_id:\d+>/?' => 'foo/index',
Мне нужно включить это ?
в конце или он не может разрешить страницу с косой чертой.
Вот как я звоню LinkPager
:
LinkPager::widget(['pagination' => $pagination, 'options' => ['class' => 'clearfix']]);
куда $pagination
очевидно, пагинация пример.
Есть ли способ, которым я могу остановить это, включая двойные знаки вопроса?
Проблема в этой части правила URL: /?
, Вы не можете указать косую черту таким образом, регулярное выражение неверно и находится за пределами шаблона. Также вы не можете сделать это необязательным.
Если вы хотите использовать косую черту, измените объявление правила на расширенную версию и задайте косую черту как suffix
как это:
[
'pattern' => 'foo/<name:[0-9a-zA-Z\-]+>.<some_id:\d+>',
'route' => 'foo/index',
'suffix' => '/',
],
Узнайте больше об альтернативном формате указания правил URL в соответствующий раздел официальной документации.
Также проверьте это вопрос.
Других решений пока нет …