douqiao2008
2015-09-15 21:55
浏览 281
已采纳

Zend Framework 2在模块之间路由

I have a SkeletonApplication installed and implemented some controllers into the standard module 'Application'.

That works fine.

But now I want to use a second module and I want to set a route from within the 'Application'-module to the new module for linking it there in a view.

The Second module is named 'Sporttabs'.

In my application.config.php I've set as found in documentation:

 // This should be an array of module namespaces used in the application.
'modules' => array(
    'Application',
    'Sporttabs'

),

In the module 'Application' I set in 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'
                ),
            ),
        ),



    ),

),

I tried linking it within index.phtml:

<a href="<?php echo $this->url('sporttabs',array('module' => 'sporttabs','controller' => 'sporttab','action' => 'index'))?>">Sporttabs-Projekt</a>

This doesn't work, I only get /sporttab

Even if I try to do www.myurl.de/sporttabs I don't get into the Sporttabs-Module... (I'm using ZendStudio to generate the ne Module, so I think all file are in right position...)

Can you give me a hint how to do this ?

2条回答 默认 最新

相关推荐 更多相似问题