我正在使用 ZendFramework 2.x 并尝试将路由添加到一些现有的。此外,我还想在 URL 中添加一些参数。如果我为我的新路线(“陈列室”)使用分段类型,我可以调用我的新 URL 并将被转发到相应的视图。不幸的是,我无法在 URL 中设置一些参数。另一种选择是在我的 module.config.php 文件中使用段类型,但我会得到一些 ZF-2-Exception,即我的路由配置不正确,甚至在渲染我的介绍视图之前也会发生这种情况。提前感谢您向我展示了如何在 route-child-route-combination 中结合使用段和文字类型,或者告诉我如何向文字类型 URL 添加参数。
Module的module.config.php中的路由配置:
'router' => array(
'routes' => array(
'zfcuser' => array(
'type' => 'Literal',
'priority' => 1000,
'options' => array(
'route' => '/user',
'defaults' => array(
'controller' => 'zfcuser',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'showroom' => array(
'type' => 'Segment',
'options' => array(
'route' => '/:id',
'defaults' => array(
'controller' => 'zfcuser',
'action' => 'showRoom',
'id' => '1',
),
),
),
'login' => array(
'type' => 'Literal',
更新:触发错误的片段(见评论)
<?php
$roomIndex = 1;
foreach($roomsPaginator->getCurrentItems() as $room){
$roomURL = 'zfcuser/showroom' . '/' . $roomIndex;
echo "<p>Name: " . $room['name'] . "; Luftfeuchtigkeit: " . $room['humidity'] . "; <a class='btn' href='" . $this->url($roomURL) . "'>Betreten »</a></p>";
$roomIndex++;
}
?>