Генератор 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.

Другие вопросы по тегам