1

如何指定一个动作的方法(类似于_delete):

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

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

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

而我希望它是一个“发布”链接,类似于 _delete (带有 onclick 属性)

4

3 回答 3

2

我猜你使用 Propel。

如果您检查生成器代码,特别是:generator > theme_name > template > template > _list_td_actions.php,您会发现如下代码:

<?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 属性值的东西)。

于 2010-12-22T14:26:20.017 回答
2

如果您只想收到确认消息,那么最好的方法可能是:

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

link_to 的附加参数可以使用“params”选项传递(请注意上面示例中的“onclick”)。

于 2010-12-22T16:05:39.537 回答
0

也许这会有用

generator:
  config:
    list:
      object_actions:
        myaction:{ params: { onclick : "if(confirm('Are you sure?')){return true;}else{return false;}" } }
于 2011-05-24T03:35:58.143 回答