我做了两个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>
答案 0 :(得分:2)
添加自定义操作:
list:
actions:
myaction:
label: "My action"
action: myaction
您必须编写路由规则以获得您正在寻找的行为:
myaction:
url: /mymodule/myaction
param: { module: mymodule, action: myaction }