0

我有四个调用相同控制器和操作的 child_routes。

    'noticia' => 数组(
        '类型' => '段',
        '选项' => 数组(
            '路线' => 'noticia[/:slug]',
            '约束' => 数组(
                    '控制器' => '[a-zA-Z][a-zA-Z0-9_-]*',
                    '动作' => '[a-zA-Z][a-zA-Z0-9_-]*',
            ),
            '默认值' => 数组(
                '__NAMESPACE__' => '应用程序\控制器',
                '控制器' => '发布',
                '动作' => '索引',
            ),
        ),
    ),
    'dica' => 数组(
        '类型' => '段',
        '选项' => 数组(
            '路线' => 'dica[/:slug]',
            '约束' => 数组(
                '控制器' => '[a-zA-Z][a-zA-Z0-9_-]*',
                '动作' => '[a-zA-Z][a-zA-Z0-9_-]*',
            ),
            '默认值' => 数组(
                '__NAMESPACE__' => '应用程序\控制器',
                '控制器' => '发布',
                '动作' => '索引',
            ),
        ),
    ),
    'ovarejao' => 数组(
        '类型' => '段',
        '选项' => 数组(
            '路线' => 'o-varejao[/:slug]',
            '约束' => 数组(
                '控制器' => '[a-zA-Z][a-zA-Z0-9_-]*',
                '动作' => '[a-zA-Z][a-zA-Z0-9_-]*',
            ),
            '默认值' => 数组(
                '__NAMESPACE__' => '应用程序\控制器',
                '控制器' => '发布',
                '动作' => '索引',
            ),
        ),
    ),
    'servicos' => 数组(
        '类型' => '段',
        '选项' => 数组(
            '路线' => 'servicos[/:slug]',
            '约束' => 数组(
                '控制器' => '[a-zA-Z][a-zA-Z0-9_-]*',
                '动作' => '[a-zA-Z][a-zA-Z0-9_-]*',
            ),
            '默认值' => 数组(
                '__NAMESPACE__' => '应用程序\控制器',
                '控制器' => '发布',
                '动作' => '索引',
            ),
        ),
    ),

我需要的是传递一个参数,以便我可以区分这些路线。怎么做?

4

1 回答 1

1

我觉得你的结构有点不对劲。为什么一个控制器的一个动作有四种不同的路线?这几乎没有任何意义。

而是将您到目前为止设置的每个路由servicos, ovarejao, dica,路由noticia到具有类似操作的 PostController servicosAction, ovarejaoAction,dicaActionnoticiaAction

如果动作在它们各自的视图中非常相似,您也可以为所有动作使用一个模板,这将使模板变得更容易一些。这样做如下:

public function servicosAction()
{
    $vm = new ViewModel();
    $vm->setTemplate('namespace/post/multiple.phtml');

    // Grab data from your model here with some parameter

    return $vm->setVariables(array(
        //key-value paired array of view variables
    ));
}

如果这不符合您的标准,请让您的问题更清楚。你想要达到的究竟是什么?

于 2012-12-26T13:17:53.800 回答