Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pagination 科哈纳路线和分页_Pagination_Routes_Kohana - Fatal编程技术网

Pagination 科哈纳路线和分页

Pagination 科哈纳路线和分页,pagination,routes,kohana,Pagination,Routes,Kohana,我使用的是Kohana 3.3,目录结构设置如下(+符号表示文件夹,•表示文件): 对于“应用程序管理”模块,我定义了以下路径: Route::set('admin default', 'admin') ->defaults(array( 'directory' => 'admin', 'controller' => 'authentication', 'action' => 'login' ));

我使用的是Kohana 3.3,目录结构设置如下(+符号表示文件夹,•表示文件):

对于“应用程序管理”模块,我定义了以下路径:

Route::set('admin default', 'admin')
    ->defaults(array(
        'directory'  => 'admin',
        'controller' => 'authentication',
        'action'     => 'login'
    ));
Route::set('admin', 'admin/<controller>(/<action>(/<id>))')
->defaults(array(
    'directory'  => 'admin'
));
这没有问题。我安装了分页模块(),该模块具有以下配置:

'admin' => array(
        'current_page'      => array('source' => 'query_string', 'key' => 'page'), // source: "query_string" or "route"
        'total_items'       => 0,
        'items_per_page'    => 2,
        'view'              => 'admin/_partials/pagination',
        'auto_hide'         => FALSE,
        'first_page_in_url' => FALSE,
    )
当我这样做时,我得到以下错误:

Kohana_Exception [ 0 ]: Required route parameter not passed: controller
SYSPATH\classes\Kohana\Route.php [ 599 ]
我做错了什么

谢谢,
Z

我最终为“管理”模块中的每个控制器专门设置了一个路由,并提供了一个默认的“控制器”值:

Route::set('admin users', 'admin/users(/<action>(/<id>))')
    ->defaults(array(
        'directory'  => 'admin',
        'controller' => 'users', // Provided a default value for <controller>
        'action'     => 'index'
    ));
Route::set('admin users','admin/users(/(/)'))
->默认值(数组)(
'目录'=>'管理员',
'controller'=>'users',//为
'操作'=>'索引'
));

它完成了工作,分页现在工作正常。我以为“admin”的“catch all”路由可以帮我做到这一点。

分页尝试调用什么URL?您是否尝试将默认控制器添加到管理路由中?所有分页操作都只是将“page=x”添加到查询字符串中,因此如果URL为,则分页操作将具有“”。是否
localhost/admin/locations
起作用,以及
localhost/admin/locations?page=2
失败?这两个链接都可以正常工作,但是,当呈现分页链接时,它们会“丢失”控制器,因此我没有使用localhost/admin/locations?page=2,而是使用localhost/admin?page=2
Kohana_Exception [ 0 ]: Required route parameter not passed: controller
SYSPATH\classes\Kohana\Route.php [ 599 ]
Route::set('admin users', 'admin/users(/<action>(/<id>))')
    ->defaults(array(
        'directory'  => 'admin',
        'controller' => 'users', // Provided a default value for <controller>
        'action'     => 'index'
    ));