Skip to content

Commit

Permalink
[FEATURE] Add event when init BE list module
Browse files Browse the repository at this point in the history
Event which allow for example to adapt own
buttons in the docHeader.

Fixes: extcode#588
  • Loading branch information
rintisch committed Oct 17, 2024
1 parent cb2a245 commit d5fdb06
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
1 change: 1 addition & 0 deletions .phplint.cache

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions Classes/Controller/Backend/Order/OrderController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* LICENSE file that was distributed with this source code.
*/

use Extcode\cart\Classes\Event\Order\InitOrderListModuleTemplateEvent;
use Extcode\Cart\Controller\Backend\ActionController;
use Extcode\Cart\Domain\Model\Cart\Cart;
use Extcode\Cart\Domain\Model\Order\Item;
Expand Down Expand Up @@ -64,6 +65,13 @@ public function listAction(int $currentPage = 1): ResponseInterface
$this->setDocHeader($this->getListButtons());
$this->addBackendAssets();

$initOrderListModuleTemplateEvent = new InitOrderListModuleTemplateEvent(
$this->moduleTemplate,
$this->uriBuilder,
$this
);
$this->eventDispatcher->dispatch($initOrderListModuleTemplateEvent);

$this->moduleTemplate->assign('settings', $this->settings);
$this->moduleTemplate->assign('searchArguments', $this->searchArguments);

Expand Down
34 changes: 34 additions & 0 deletions Classes/Event/Order/InitOrderListModuleTemplateEvent.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

declare(strict_types=1);

namespace Extcode\cart\Classes\Event\Order;

use Extcode\Cart\Controller\Backend\Order\OrderController;
use TYPO3\CMS\Backend\Template\ModuleTemplate;
use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder;

final class InitOrderListModuleTemplateEvent
{
public function __construct(
private readonly ModuleTemplate $moduleTemplate,
private readonly UriBuilder $uriBuilder,
private readonly OrderController $orderController
) {
}

public function getModuleTemplate(): ModuleTemplate
{
return $this->moduleTemplate;
}

public function getUriBuilder(): UriBuilder
{
return $this->uriBuilder;
}

public function getOrderController(): OrderController
{
return $this->orderController;
}
}

0 comments on commit d5fdb06

Please sign in to comment.