Cześć wszystkim,
piszę moduł, w którym chcę zrobić automatyzację zmian hurtowych na liście zamówień.
Aktualnie zrobiłem to tak, przykład hurtowej zmiany cen:
\views\PrestaShop\Admin\Sell\Order\Order\index.html.twig - nadpisałem sobie index i dodałem sobie modala ze zmianą ceny:
{% include '@PrestaShop/Admin/Sell/Order/Order/Blocks/change_orders_price_modal.html.twig' %}
W module dodałem sobie akcję bulk:
$definition->getBulkActions()->add( (new ButtonBulkAction('subscribe_newsletter')) ->setName('Subscribe newsletter') ->setOptions([ 'class' => 'dropdown-item js-bulk-modal-form-submit-btn', 'attributes' => [ 'data-modal-id' => "changeOrdersPricesModal", ], ]) );
Modal się wyświetla, przekierowuje akcję na kontroler Symfony, który ma ogarnąć hurtową zamianę. Mam natomiast problem z przekazaniem danych do głównego widoku z listą zamówień tak żeby zrenderować modala:
'changeOrderPricesForm' => $changeOrderPricesForm->createView(),
Chodzi konkretnie o kontroller OrderController.
public function indexAction(Request $request, OrderFilters $filters) { $orderKpiFactory = $this->get('prestashop.core.kpi_row.factory.orders'); $orderGrid = $this->get('prestashop.core.grid.factory.order')->getGrid($filters); $changeOrderStatusesForm = $this->createForm(ChangeOrdersStatusType::class); $changeOrderPricesForm = $this->createForm(ChangeOrdersPriceType::class); return $this->render( '@PrestaShop/Admin/Sell/Order/Order/index.html.twig', [ 'orderGrid' => $this->presentGrid($orderGrid), 'help_link' => $this->generateSidebarLink($request->attributes->get('_legacy_controller')), 'enableSidebar' => true, 'changeOrderStatusesForm' => $changeOrderStatusesForm->createView(), 'changeOrderPricesForm' => $changeOrderPricesForm->createView(), 'orderKpi' => $orderKpiFactory->build(), 'layoutHeaderToolbarBtn' => $this->getOrderToolbarButtons(), ] ); }
Czy jest jakiś hook, gdzie mogę wstrzyknąć ten formularz do głównego szablonu zamówień lub jakiś sposób jak to zrobić?
Nie chciałbym nadpisywać oryginalnego kontrolera zamówień.
Dzięki za pomoc