2

我做了两个 List 动作。一个实际上对应于默认的 _new 操作,而另一个则略有不同。所以在 generator.yml 中,我放了:

  list:    
    max_per_page: 10
    title: All Posters
    display: [approved, name, user_id, _web_path, created_at]
    actions:
      upload : #this is actually equivalent to _new. 
        credentials: create_poster
        label: "Upload Poster"
        action: new
      create : 
        credentials: create_poster
        label: "Create Poster"

现在在我的列表视图中,我可以看到这两个操作的两个链接,但创建链接链接到 /poster/ListCreate/action而不是/poster/ListCreate。这可能是什么原因?我还将 _list_actions.php 文件粘贴到缓存中。

<li class="sf_admin_action_upload">
<?php if ($sf_user->hasCredential('create_poster')): ?>
<?php echo link_to(__('Upload Poster', array(), 'messages'), 'poster/new', array()) ?>
<?php endif; ?>

</li>
<li class="sf_admin_action_create">
  <?php if ($sf_user->hasCredential('create_poster')): ?>
<?php echo link_to(__('Create Poster', array(), 'messages'), 'poster/create', array()) ?>
<?php endif; ?>

</li>
4

1 回答 1

2

添加自定义操作:

list:
  actions:    
    myaction: 
      label: "My action"
      action: myaction

您必须编写路由规则才能获得您正在寻找的行为:

myaction:
  url:   /mymodule/myaction
  param: { module: mymodule, action: myaction }
于 2011-12-07T22:25:24.500 回答