我要創建這樣一個鏈接:ZF2 fromRoute沒有返回默認的動作名稱
somesite.com/management/users/index/delete/10
在管理模塊名稱,用戶是控制器,索引是操作名稱,刪除是獲取記錄的ID的參數。 要創建這個環節我使用這部分代碼:
$delUrl = $this->url()->fromRoute('management-users', array(
'controller' => 'users',
'action' => 'index',
'delete' => $siteData['id'],
));
我的配置是象下面這樣:
'router' => array(
'routes' => array(
'management-index' => array(
'type' => 'segment',
'options' => array(
'route' => '/management[/:controller][/:action][/delete/:delete][/:id]',
'constraints' => array(
'delete' => '[0-9]+' ,
'id' => '[0-9]+'
),
'defaults' => array(
'__NAMESPACE__' => 'Management\Controller',
'controller' => 'Index',
'action' => 'index'
),
),
),
),
),
結果是這樣的:
somesite.com/management/ users/delete/10
該函數省略動作名稱,因爲它我這是我的默認動作,然後獲取刪除作爲操作名稱,我終於得到404錯誤。正如你所看到的,我有一個參數「id」,它不允許我從鏈接中省略短語「delete」。通過省略url的「刪除」,ZF2獲得的輸入爲「id」而不是「delete」。我也無法更改我的默認操作。 有沒有什麼辦法可以告訴ZF2在url中輸入動作名稱?
錯誤報告:https://github.com/zendframework/zf2/issues/6744 – Abadis 2014-10-09 09:58:39