Как поставить консольную команду с кнопки внешнего интерфейса? - PullRequest
0 голосов
/ 18 мая 2018

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

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

command:
    path:               /command
    defaults:
        _controller:    AppBundle:Command:activate
    requirements:
        language:       '%pimc.akeneo_cms.frontend.language.available%'

И я создал новый контроллер с именем CommandController только с одним методом с именем activAction ().И я не знаю, что положить в actiavateAction?

Может ли кто-нибудь мне помочь?Я на правильном пути?

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Вы можете выполнить следующие действия:

  • создать консольную команду
  • создать контроллер с методом действия и маршрутом
  • создать шаблон ветки, который будетотрисованный из действия метода контроллера
  • внутри шаблона, создайте кнопку
  • , используя ajax, по нажатию кнопки сделайте запрос в действие метода этого контроллера (или другое действие метода)
  • внутри метода, вызвать консольную команду, как здесь объяснено
0 голосов
/ 18 мая 2018

Если вы хотите запустить команду в действии вашего контроллера, вы можете использовать Application:

$application = new Application($this->get('kernel'));
$input = new ArrayInput(array('command' => 'your:command'));
$output = new BufferedOutput();
$application->run($input, $output);

И если вы хотите проверить вывод команды, вы можете использовать $output->fetch().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...