为我的动态菜单创建一个当前类

时间:2011-02-03 12:31:54

标签: php symfony1

似乎创建当前类比我想象的更难:)

模块/菜单/动作/ components.class.php

$this->elements = array(
        "My page" => "content/index",
        "Admin" => "content/index",
    );

$this->current = "";
foreach($this->elements as $name => $link) {
    list($module, $action) = explode("/", $link);
    if ($this->getContext()->getModuleName() == $module && 
    $this->getContext()->getActionName() == $action) {
        $this->current = $name;
    }
}               

模块/菜单/模板/ _main.php


if ($current == $name){
    echo link_to($name, $link, array("class" => "selected"));
}else {
    echo link_to($name, $link); 
}

如果你查看链接,他们会转到“内容/索引”(暂时)。 最大的问题是,内容/索引重定向到auth / login,因此当前模块和操作,即使URL显示内容/索引也是auth / login。

由于

1 个答案:

答案 0 :(得分:2)

只是一个想法:

  1. 重定向到登录页面
  2. 时设置return参数
  3. 解析此参数而非实际网址
  4. 或者:

    1. 使用路线,而不是“模块 - 操作”对
    2. 转发而不是重定向到身份验证路由
    3. $currentRouteName = $this->getContext()->getRouting()->getCurrentRouteName()
    4. 希望这有帮助。