zf2でのzendのページネーションとルーティングに問題があります。フィードバック項目の詳細とそのサブ項目(アクション)の一覧を同じページに表示したいのですが。私のルートコードは以下の通りです
$routes['dashboard_inbox_actions'] = array(
'type' => 'segment',
'options' => array(
'route' => '/dashboard/inbox/detail[/:feedback[/actions/page/:page]]',
'constraints' => array(
'feedback' => '[0-9]+',
'page' => '[0-9]+',
),
'defaults' => array(
'__NAMESPACE__' => 'Dashboard\Controller',
'controller' => 'inbox' ,
'action' => 'detail',
'feedback' => 0 ,
'page' => 1
),
),
);
私は次のようなURLを渡します
/dashboard/inbox/detail/4
リストページで、サブアイテムの提供されたページをレンダリングします。
<?php echo $this->paginationControl($this->paginator, 'Sliding' ); ?>
これは、フィードバックIDが0のページングURLを作成します(これは私の問題です)
/dashboard/inbox/detail/0/actions/page/2
/dashboard/inbox/detail/0/actions/page/3
URLを手動で貼り付けます
/dashboard/inbox/detail/4/actions/page/2
2ページ目をアクティブアイテムとして表示します。私のコントローラーコードは正常に機能し、結果が得られますが、それでもpaginationControlはフィードバックID0のURLを作成します。