Проблема пользовательской маршрутизации CakePHP 4 со ссылками на страницыPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Проблема пользовательской маршрутизации CakePHP 4 со ссылками на страницы

Сообщение Anonymous »

Описание
Здравствуйте!
Я работаю с CakePHP 4 и столкнулся с проблемой: ссылки Paginator не соответствуют моим определениям пользовательских маршрутов. Чтобы дать вам представление, я настроил собственный маршрут следующим образом:

Код: Выделить всё

$builder->connect(
"/categories/{category}",
['controller' => 'Items', 'action' => 'category', 'items'],
['routeClass' => DashedRoute::class, 'pass' => ['items'],]
);
В контроллере ItemsController у меня есть действие категории, определенное следующим образом:

Код: Выделить всё

public function category($item_type_slug)
{
$category_slug = $this->getRequest()->getParam('category');
$this->loadComponent('Paginator');
$items = $this->getItemsCatalog($item_type_slug, $category_slug);

$this->set('items', $items['items'] ? $this->paginate($items['items']) : []);
}
Я использую встроенную нумерацию страниц CakePHP для отображения элементов. Проблема возникает при доступе ко второй странице списка элементов. Paginator генерирует ссылку, которая соответствует шаблону маршрутизации CakePHP по умолчанию («/controller/action/param») вместо использования моего собственного маршрута. Следовательно, ссылка на вторую страницу отображается как «/items/category/items?page=2», а не соответствует пользовательскому шаблону маршрута «/categories/{category}?page=2».
Я просмотрел документацию и форумы, но не нашел четкого решения, позволяющего заставить Paginator учитывать мой собственный маршрут при создании ссылок. Как я могу настроить Paginator или настройку маршрутизации, чтобы ссылки на страницы следовали по заданному мной маршруту?
Будем очень признательны за любые советы или указатели в правильном направлении. Заранее благодарим за помощь!
Версия CakePHP
4
Версия PHP
8

Подробнее здесь: https://stackoverflow.com/questions/782 ... ator-links
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»