Генератор Symfony Admin: преобразование пакетных действий из списка выбора в ссылки
В списке объектов, сгенерированном с помощью генератора admin, пакетное действие отображается в виде выбора с помощью кнопки отправки. Я хочу преобразовать его и получить только ссылку (например, у меня есть действие удалить, и я хочу иметь ссылку для удаления вместо выбора действия и затем нажмите кнопку).
у меня есть файл _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>
Любая идея о том, как я могу использовать это?
1 ответ
Решение первое:
Пакетные действия отправляются по форме по умолчанию. Вы можете переписать шаблон, чтобы поместить ссылки вместо формы.
Проверьте ваш автоматически сгенерированный контроллер в кеше (вам нужно прежде, чем увидеть вашу страницу администратора, чтобы сгенерировать кеш).
apps/backend/dev/modules/autoYourModule/actions/action.class.php
Вы найдете функцию executeBatch()
,
Вы можете скопировать эту функцию и поместить ее в свой контроллер административного модуля, а затем изменить ее поведение, чтобы сделать то, что вам нужно.
Решение второе:
Используйте javascript, чтобы скрыть свою форму и поместить ссылку, которая выберет действие удаления в поле выбора, и отправьте форму, используя javascript.