2010-12-22 58 views
1

如何指定动作的方法(类似于_delete):Symfony的generator.yml链接方法

generator: 
    config: 
    list: 
     object_actions: 
     myaction: {label: Label, action: myaction, method: post} 

这忽略我的方法设置,并呈现一个获取链接:

<a href="/backend/myaction/1">Label</a> 

而我想要它到一个“后”链接,类似于_delete(带onclick属性)

回答

2

我猜你在使用Propel。

如果检查发电机码,特别是关于:发电机> THEME_NAME>模板>模板> _list_td_actions.php,那里你会找到的代码像PICE:

<?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; ?> 

这是代码多数民众赞成执行当你定义一个像你描述的自定义对象动作。检查$ params,你可能会找到你需要的解决方案(我想你可能会定义类似onclick属性的值)。

2

如果你只是想有一个确认的消息可能比最好的办法是:

generator: 
    config: 
    list: 
     object_actions: 
     myaction: {label: Label, action: myaction, confirm: "Are your sure?", params: {onclick: 'alert("Bu!");'} } 

到的link_to其他参数可以用“PARAMS”选项(在上面的例子中通知的“onClick”)进行传递。

+0

谢谢!但我仍然无法实现它的工作。我创建了一个linkToMyaction方法,但它被忽略。在list_td_action部分中没有引用它(与标准动作相比)。它工作,如果我手动覆盖list_td_action部分并从那里调用<?php echo $ helper-> linkToMyaction ...?>。我错过了什么吗? – Dziamid 2010-12-22 17:35:08

+0

linkToMyaction()只能用于窗体上的对象操作,而不能用于列表。对不起,误导你。我修复了我的回复。 – 2010-12-22 18:21:40

0

也许这将是有益的

generator: 
    config: 
    list: 
     object_actions: 
     myaction:{ params: { onclick : "if(confirm('Are you sure?')){return true;}else{return false;}" } }