Добрый день! Подскажите, каким образом отправить пост запрос из одного контроллера в другой? Контроллер принимающий: PHP: if (isset($this->request->post['selected']) && $this->ll->validate()) { $number = false; foreach ($this->request->post['selected'] as $order_id) { $order = $this->{$this->ll->getModel()}->getOrder((int)$order_id);
Ну почему же никак!? Можно установить какой-нибудь GuzzleClient и сделать любой запрос. Но скорей всего в OpenCart это будет трудно-реализуемо!
Изначально, пост запрос идет из tpl модуля в административной части. Но я же хочу объединить работу двух модулей при нажатии на одну "общую" кнопку. Логику работы пишу в одном из них. С помощью curl нельзя отправить post с контроллера на контроллер?
Можно конечно, но сама идея странная. Ведь контроллеры нужны для того, чтобы принять запрос, забрать какие то данные из него (если они есть) и выполнить бизнес логику. Вы же, находясь так сказать внутри и имея на руках данные, пытаетесь выкинуть их наружу, чтобы опять принять и что то с ними сделать. Почему не сделать сразу то, что вы хотите, там где вы уже обладаете этими данными?
Модуль работающий с системой учета мой склад по api + модули экспорта всех ТК(сдэк, ББ, почта и другие) Чтобы была одна кнопка=) Нажал -> получаешь наклейку на посылку. А модуль доставки в фоновом режиме выгрузился в ТК, создалась отгрузка в системе учета и поменялись статусы заказов. Этот функционал я делаю в модуле системы учета. По-этому нужно передать информацию в контроллер модуля доставки. Наверно так и придется делать.
Общий функционал как правило выносится в сервисный слой или отдельный класс. Тогда не придётся описывать бизнес логику повторно. Достаточно будет вызвать нужный метод там, где нужно, передав данные.