From 7295d870115ca20ae55b21c02df3e44c93a8b25a Mon Sep 17 00:00:00 2001 From: Ben Croker Date: Wed, 16 Oct 2024 13:25:50 +0200 Subject: [PATCH] Trigger Craft response events --- composer.json | 4 ++-- src/controllers/ResponseController.php | 2 -- src/services/ResponseService.php | 8 +++++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 9ae51e1..bf0ae1d 100644 --- a/composer.json +++ b/composer.json @@ -1,13 +1,13 @@ { "name": "putyourlightson/craft-spark", "description": "A reactive hypermedia framework for Craft CMS.", - "version": "0.0.1", + "version": "0.0.3", "type": "craft-plugin", "license": "proprietary", "require": { "php": ">=8.2", "craftcms/cms": "^5.4.0", - "putyourlightson/datastar-php": "0.0.1" + "putyourlightson/datastar-php": "0.0.3" }, "require-dev": { "craftcms/ecs": "dev-main", diff --git a/src/controllers/ResponseController.php b/src/controllers/ResponseController.php index 2fa2549..b774218 100644 --- a/src/controllers/ResponseController.php +++ b/src/controllers/ResponseController.php @@ -27,8 +27,6 @@ public function actionIndex(): void $params = $this->getParams(); Spark::$plugin->response->process($config, $params); - - exit(); } private function getParams() diff --git a/src/services/ResponseService.php b/src/services/ResponseService.php index 76dd580..f4b5c70 100644 --- a/src/services/ResponseService.php +++ b/src/services/ResponseService.php @@ -44,9 +44,15 @@ public function process(string $config, array $params): void { $config = $this->getValidatedConfig($config); Craft::$app->getSites()->setCurrentSite($config->siteId); - $variables = array_merge($params, $config->variables); + $this->renderTemplate($config->template, $variables); + + // Trigger Craft response events so that plugins can do their thing. + Craft::$app->getResponse()->trigger(Response::EVENT_AFTER_PREPARE); + Craft::$app->getResponse()->trigger(Response::EVENT_AFTER_SEND); + + $this->response->end(); } /**