Генератор администратора Symfony - кнопка для сохранения и возврата к списку


Как я могу добавить сохранить и вернуться к списку кнопка в представлении для создания новой записи? В общем, мне нужно больше кнопок, поэтому я ищу общий ответ.

ИЗМЕНИТЬ: Генератор по умолчанию предоставляет мне две кнопки:

  1. сохранить
  2. сохранить и добавить

Мне нужна кнопка, которая saves and takes me back to the list. И я также хочу пользовательскую кнопку с пользовательским действием.

Позвольте мне объяснить фактическая ситуация:

У меня есть действие списка create, которое приводит меня к форме с некоторыми полями ввода. Теперь я хочу создать изображение, используя данные этих полей. Я хочу отобразить это изображение в качестве предварительного просмотра в правой части формы. Для этого мне нужна кнопка предварительного просмотра, чтобы при каждом нажатии она отправляла данные себе для предварительного просмотра и дальнейшего изменения.

Надеюсь, теперь все стало яснее.

Author: prongs, 2011-12-08

1 answers

Сначала вы должны добавить в generator.yml свои save_and_back_to_list и другие пользовательские my_other_action действия:

    config:
      actions: ~
      fields:  ~
      list:    ~
      filter:  ~
      form:    ~
      edit:
        actions:
          _save: ~
          _list: ~
          save_and_back_to_list: ~
          my_other_action: ~
      new:
        actions:
          _save: ~
          _save_and_add: ~
          _list: ~
          save_and_back_to_list: ~
          my_other_action: ~

Затем вам нужно добавить свои индивидуальные вспомогательные функции для создания кнопок в /apps/myapplication/modules/mymodule/lib/mymoduleGeneratorHelper.class.php

  public function linkToSaveAndBackToList($object, $params)
  {
    return '<li class="sf_admin_action_save_and_back_to_list"><input type="submit" value="'.__($params['label'], array(), 'sf_admin').'" name="save_and_back_to_list" /></li>';
  }

  public function linkToMyOtherAction($object, $params)
  {
    return '<li class="sf_admin_action_my_other_action"><input type="submit" value="'.__($params['label'], array(), 'sf_admin').'" name="my_other_action" /></li>';
  }

Теперь у вас есть две кнопки отправки как в форме New, так и в форме Edit.

Наконец, вам нужно переопределить функцию processForm(sfWebRequest $request, sfForm $form), которую вы можете найти в /cache/dev/modules/autoMymodule/actions/actions.class.php, для управления вашими новыми действиями отправки. Я предполагаю, что ваша функция create переопределяет функцию генератора администратора.

Надеюсь, я не забуду ничего.

 8
Author: macgyver, 2011-12-08 19:21:37