Генератор Symfony Admin: преобразование пакетных действий из списка выбора в ссылки - PullRequest
0 голосов
/ 19 марта 2012

в списке объектов, созданном с помощью генератора 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 Ответ

1 голос
/ 17 апреля 2012

Решение первое:

Пакетные действия представлены по умолчанию в форме.Вы можете переписать шаблон, чтобы поместить ссылки вместо формы.

Проверьте ваш автоматически сгенерированный контроллер в кеше (вам нужно прежде, чем увидеть страницу администратора для создания кеша) .

apps/backend/dev/modules/autoYourModule/actions/action.class.php

Вы найдете функцию executeBatch().

Вы можете скопировать эту функцию и поместить ее в свой контроллер административного модуля, а затем изменить ее поведение, чтобы делать то, что вам нужно.

Решение второе:

Используйте javascript, чтобы скрыть форму, и вставьте ссылку, которая выберет действие удаления в поле выбора, и отправьте форму с использованием javascript.

...