【问题标题】:Symfony generator.yml link methodSymfony generator.yml 链接方法
【发布时间】:2011-05-29 10:10:27
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: symfony1 admin-generator


    【解决方案1】:

    我猜你在用 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 属性值的东西)。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 谢谢!但我仍然无法让它工作。我创建了一个 linkToMyaction 方法,但它只是被忽略了。在 list_td_action partial 中没有引用它(与标准操作相比)。如果我手动覆盖 list_td_action partial 并从那里调用 linkToMyaction... ?> ,它会起作用。我错过了什么吗?
      • linkToMyaction() 只能用于表单上的对象操作,不能用于列表。很抱歉误导了你。我修正了我的回复。
      • 好吧,我想我必须重写 list_td_action partial。
      【解决方案3】:

      也许这会有用

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

      【讨论】:

      • 你的意思是onclick : "return confirm('Are you sure?')"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-15
      • 1970-01-01
      相关资源
      最近更新 更多