我有一個SkeletonApplication安裝並實現了一些控制器到標準模塊'Application'中。ZendFramework2模塊之間的路由
這工作正常。
但是現在我想使用第二個模塊,並且我想要在'應用程序'模塊內設置一個路徑到新的模塊,以便在視圖中將它連接到那裏。
第二個模塊被命名爲'Sporttabs'。
// This should be an array of module namespaces used in the application.
'modules' => array(
'Application',
'Sporttabs'
),
在模塊 '應用程序' 我在module.config.php設置:
'routes' => array(
'home' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/',
'defaults' => array(
'module' => 'Application',
'controller' => 'Index',
'action' => 'index',
),
),
),
'fach' => array(
'type' => 'segment',
'options' => array(
'route' => '/index[/:action][/:id]',
'constraints' => array(
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Index',
'action' => 'index'
),
),
),
'sporttabs' => array(
'type' => 'segment',
'options' => array(
'route' => '/sporttabs[/:controller][/:action][/:id]',
'constraints' => array(
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'module' => 'Sporttabs',
'controller' => 'Sporttab',
'action' => 'index'
),
),
),
),
),
我
在我application.config.php在文檔中發現我給自己定試圖index.phtml內將它鏈接:
<a href="<?php echo $this->url('sporttabs',array('module' => 'sporttabs','controller' => 'sporttab','action' => 'index'))?>">Sporttabs-Projekt</a>
這是不行的,我只得到/ sporttab
即使我嘗試去做www.myurl.de/sporttabs我也不會進入Sporttabs模塊...我使用ZendStudio生成ne模塊,所以我認爲所有的文件都是正確的位置...)
你能給我一個提示如何做到這一點?
通配符路由在骨架應用程序中用作一種魔術,所以新用戶不必定義每條路線。我建議你嘗試簡化你的約束條件,並有更明確的路線,特別是要學習路由如何工作。 – dualmon