在使用admin生成器生成的对象列表中,批处理Action显示在带有提交按钮的选择中。 我想要转换它并获得唯一的链接(例如我有动作删除,我想有一个删除链接,而不是选择操作,而不是单击按钮。)
我有 _list_batch_actions.php 文件,但我无法看到如何获取标签的href:
<li class="sf_admin_batch_actions_choice">
<a href="<?php // url_for('@route')?>"> test</a> // this is what i added but not woorking
<select name="batch_action">
<option value=""><?php echo __('Choose an action', array(), 'sf_admin') ?></option>
<option value="batchDelete"><?php echo __('Delete', array(), 'sf_admin') ?></option>
</select>
<?php $form = new BaseForm(); if ($form->isCSRFProtected()): ?>
<input type="hidden" name="<?php echo $form->getCSRFFieldName() ?>" value="<?php echo $form->getCSRFToken() ?>" />
<?php endif; ?>
<input type="submit" value="<?php echo __('go', array(), 'sf_admin') ?>" />
</li>
关于如何使用它的任何想法?
答案 0 :(得分:1)
解决方案一:
批处理操作默认按表单提交。您可以重写模板以放置链接而不是表单。
检查缓存中的自动生成的控制器 (您需要先查看管理页面才能生成缓存)。
apps/backend/dev/modules/autoYourModule/actions/action.class.php
你会找到一个函数executeBatch()
。
您可以复制此功能并将其放入管理模块控制器中,然后修改其行为以执行您所需的操作。
解决方案二:
使用javascript隐藏您的表单,并在您的选择框中输入一个选择删除操作的链接,使用javascript提交表单。