如何在Symfony管理生成器Yaml中生成指向其他模块的链接? 我试图从sfGuardUser模块(用户列表)链接到profile / viewProfilesDetails但它总是指向sfGuardUser / viewProfilesDetails
我的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
(...)
答案 0 :(得分:1)
我认为您不能在此配置中指定模块,而只能在同一模块中指定操作。
我个人就这样做了。
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; ?>
使用getLinkToAction
:
$this->getModuleName()
return '[?php echo link_to(
__(\''.$params['label'].'\', array(), \''.$this->getI18nCatalogue().'\'),
\''.$this->getModuleName().'/'.$action.$url_params.',
'.$this->asPhp($params['params']).'
) ?]';