2012-09-24 24 views
0

如何生成链接到Symfony管理生成器Yaml中的另一个模块? 我试图从sfGuardUser模块(用户列表)链接到资料/ viewProfilesDetails但它始终指向sfGuardUser/viewProfilesDetails管理生成器yaml:链接到另一个模块

我generator.yml:

(...) 
    list: 
    title: Użytkownicy 
    display: [=username, _name, created_at, last_login] 
    actions: {} 
    batch_actions: {} 
    object_actions: 
     _edit: ~ 
     signIn: 
     label: Zaloguj jako 
     action: signIn 
     viewProfiles: 
     label: Profile 
     module: profiles 
     action: viewProfilesDetails 
(...) 

回答

1

我不认为你可以指定一个模块,但只有来自同一模块的动作。

我personnaly这样做。

generator.yml

object_actions: 
    _edit: ~ 
    _delete: ~ 
    viewItems: { label: View items, action: viewItems } 

那么对于generator.yml在同一模块中,我创建了一个动作:

public function executeViewItems($request) 
{ 
    $this->redirect($this->generateUrl('items')); 
} 

它生成一个名为查看项目链接,就像/blog/158/viewItems其重定向到/items(这是路线@items)。

编辑:

事实上,你不能指定的其他模块。

模板_list_td_actions.php显示list.object_actions。这是一个有趣的现象:

<?php else: ?> 
    <li class="sf_admin_action_<?php echo $params['class_suffix'] ?>"> 
     <?php echo $this->addCredentialCondition($this->getLinkToAction($name, $params, true), $params) ?> 
    </li> 
<?php endif; ?> 

它要求通过使用$this->getModuleName()使用当前模块getLinkToAction

return '[?php echo link_to(
    __(\''.$params['label'].'\', array(), \''.$this->getI18nCatalogue().'\'), 
    \''.$this->getModuleName().'/'.$action.$url_params.', 
    '.$this->asPhp($params['params']).' 
) ?]'; 
+0

看起来可以接受的变通,但我觉得很奇怪,你可以” t直接链接到另一个模块... –

+0

问题更新:你不能:) – j0k

相关问题