Я хотел бы изменить URL с http://localhost/domain/index/index/page/1
в http://localhost/domain/page/1
,
Я уже пытался изменить маршруты, однако у меня есть некоторые ошибки.
Это моя часть контроллера:
$page=$this->_getParam('page',1);
$paginator = Zend_Paginator::factory($images->fetchAll($images->select()->order('id ASC')));
$paginator->setItemCountPerPage(24);
$paginator->setCurrentPageNumber($page);
$this->view->paginator=$paginator;
Просмотр части:
<?php
foreach($this->paginator as $record){
echo $record['name'];
}
?>
<?= $this->paginationControl($this->paginator, 'Sliding', 'pagination.phtml'); ?>
Как вы можете видеть, я использую стандартный файл pagination.phtml. Большое спасибо за вашу помощь.
Вы можете создавать маршруты, как указано ниже:
routes.flexi.type = "Zend_Controller_Router_Route"routes.flexi.route = "custom-text/:page"routes.flexi.defaults.module = "core"routes.flexi.defaults.controller = "index"routes.flexi.defaults.action = "index"routes.flexi.defaults.page = 1
routes.flexi.reqs.page = \d+
Это будет работать для ниже URL:
http://localhost/custom-text/2
http://localhost/custom-text/3
По умолчанию будет страница 1 с URL ниже:
http://localhost/custom-text
Редактировать:
Создайте routes.ini
в application/configs/
каталог
В Bootstrap.php
вам нужно создать экземпляры маршрутов следующим образом:
protected function _initRouter(){
$routes = new Zend_Config_Ini('/application/configs/routes.ini', APPLICATION_ENV); //change path according to your project
$front = Zend_Controller_Front::getInstance();
$front->getRouter()->addConfig($routes, 'routes');
}
В качестве дополнения к ответу @ s-rupali и для тех, кто не знает ее структуру для разбивки на страницы, другим способом было бы использовать эту структуру в маршрутах .ini:
$route = new Zend_Controller_Router_Route(
'custom-text/:page',
array(
'controller' => 'index',
'action' => 'index',
'page' => 1
)
);
$router->addRoute('new_pagination', $route);