Loading CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ CHANGELOG 7.0.6 ----- - Possibilité de passer un moteur de template en mode 'debug' (impact dans le moteur twig uniquement pour l'instant). - [FIX] Plantage de TinyMCE à cause du `?php` oublié dans les `extended_valid_elements` : retrait car inutile au moteur par défaut de toute façon. - [FIX] Correction de l'affichage des macros dans le Select2 pour le moteur Laminas. Loading src/UnicaenRenderer/Service/Rendu/RenduService.php +12 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ use DoctrineModule\Persistence\ProvidesObjectManager; use Exception; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Renderer\PhpRenderer; use Mpdf\MpdfException; use RuntimeException; use UnicaenPdf\Exporter\PdfExporter; use UnicaenRenderer\Entity\Db\Rendu; Loading @@ -30,6 +29,17 @@ class RenduService public PhpRenderer $renderer; protected bool $debugMode = false; /** * Active ou non le mode "debug". * NB : ce mode n'est pas forcément implémenté par le moteur de rendu du template. */ public function setDebugMode(bool $debugMode = true): void { $this->debugMode = $debugMode; } /** Gestion des entités *******************************************************************************************/ public function create(Rendu $contenu): Rendu Loading Loading @@ -124,6 +134,7 @@ class RenduService $templateEngine = $this->templateEngineManager->getEngineForTemplate($template); $templateEngine->setVariables($variables); $templateEngine->setDebugMode($this->debugMode); $sujet = $templateEngine->renderTemplateSujet(); $corps = $templateEngine->renderTemplateCorps(); $contenu->setSujet($sujet); Loading src/UnicaenRenderer/Service/TemplateEngine/AbstractTemplateEngine.php +5 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ abstract class AbstractTemplateEngine implements TemplateEngineInterface use TemplateAwareTrait; protected array $variables = []; protected bool $debugMode = false; public function setVariables(array $variables): void { Loading @@ -23,5 +24,8 @@ abstract class AbstractTemplateEngine implements TemplateEngineInterface $this->variables = array_merge($helperVariables, $variables); } public function setDebugMode(bool $debugMode = true): void { $this->debugMode = $debugMode; } } No newline at end of file src/UnicaenRenderer/Service/TemplateEngine/TemplateEngineInterface.php +9 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,9 @@ namespace UnicaenRenderer\Service\TemplateEngine; use UnicaenRenderer\Entity\Db\Macro; use UnicaenRenderer\Entity\Db\Template; /** * Interface des moteurs de rendu. */ interface TemplateEngineInterface { /** Loading @@ -17,6 +20,12 @@ interface TemplateEngineInterface */ public function setVariables(array $variables); /** * Active où non le mode "debug" de ce moteur. * En quoi consiste le mode "debug" concrètement ? Ça dépend du moteur ! */ public function setDebugMode(bool $debugMode = true): void; /** * Effectue des vérifications éventuelles concernant le template cible. */ Loading src/UnicaenRenderer/Service/TemplateEngine/Twig/TwigTemplateEngine.php +11 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use BadMethodCallException; use RuntimeException; use Twig\Environment; use Twig\Error\Error; use Twig\Extension\DebugExtension; use Twig\Loader\ArrayLoader; use UnicaenRenderer\Entity\Db\Macro; use UnicaenRenderer\Entity\Db\Template; Loading @@ -20,10 +21,20 @@ class TwigTemplateEngine extends AbstractTemplateEngine { $this->twigLoader = new ArrayLoader(); $this->twig = new Environment($this->twigLoader, [ 'debug' => true, // NB : aucun impact si DebugExtension n'est pas activée. // 'cache' => '/path/to/compilation_cache', ]); } public function setDebugMode(bool $debugMode = true): void { parent::setDebugMode($debugMode); if ($this->debugMode) { $this->twig->addExtension(new DebugExtension()); } } public function checkTemplate(): array { throw new BadMethodCallException("Non supporté !"); Loading Loading
CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ CHANGELOG 7.0.6 ----- - Possibilité de passer un moteur de template en mode 'debug' (impact dans le moteur twig uniquement pour l'instant). - [FIX] Plantage de TinyMCE à cause du `?php` oublié dans les `extended_valid_elements` : retrait car inutile au moteur par défaut de toute façon. - [FIX] Correction de l'affichage des macros dans le Select2 pour le moteur Laminas. Loading
src/UnicaenRenderer/Service/Rendu/RenduService.php +12 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,6 @@ use DoctrineModule\Persistence\ProvidesObjectManager; use Exception; use Laminas\Mvc\Controller\AbstractActionController; use Laminas\View\Renderer\PhpRenderer; use Mpdf\MpdfException; use RuntimeException; use UnicaenPdf\Exporter\PdfExporter; use UnicaenRenderer\Entity\Db\Rendu; Loading @@ -30,6 +29,17 @@ class RenduService public PhpRenderer $renderer; protected bool $debugMode = false; /** * Active ou non le mode "debug". * NB : ce mode n'est pas forcément implémenté par le moteur de rendu du template. */ public function setDebugMode(bool $debugMode = true): void { $this->debugMode = $debugMode; } /** Gestion des entités *******************************************************************************************/ public function create(Rendu $contenu): Rendu Loading Loading @@ -124,6 +134,7 @@ class RenduService $templateEngine = $this->templateEngineManager->getEngineForTemplate($template); $templateEngine->setVariables($variables); $templateEngine->setDebugMode($this->debugMode); $sujet = $templateEngine->renderTemplateSujet(); $corps = $templateEngine->renderTemplateCorps(); $contenu->setSujet($sujet); Loading
src/UnicaenRenderer/Service/TemplateEngine/AbstractTemplateEngine.php +5 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ abstract class AbstractTemplateEngine implements TemplateEngineInterface use TemplateAwareTrait; protected array $variables = []; protected bool $debugMode = false; public function setVariables(array $variables): void { Loading @@ -23,5 +24,8 @@ abstract class AbstractTemplateEngine implements TemplateEngineInterface $this->variables = array_merge($helperVariables, $variables); } public function setDebugMode(bool $debugMode = true): void { $this->debugMode = $debugMode; } } No newline at end of file
src/UnicaenRenderer/Service/TemplateEngine/TemplateEngineInterface.php +9 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,9 @@ namespace UnicaenRenderer\Service\TemplateEngine; use UnicaenRenderer\Entity\Db\Macro; use UnicaenRenderer\Entity\Db\Template; /** * Interface des moteurs de rendu. */ interface TemplateEngineInterface { /** Loading @@ -17,6 +20,12 @@ interface TemplateEngineInterface */ public function setVariables(array $variables); /** * Active où non le mode "debug" de ce moteur. * En quoi consiste le mode "debug" concrètement ? Ça dépend du moteur ! */ public function setDebugMode(bool $debugMode = true): void; /** * Effectue des vérifications éventuelles concernant le template cible. */ Loading
src/UnicaenRenderer/Service/TemplateEngine/Twig/TwigTemplateEngine.php +11 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use BadMethodCallException; use RuntimeException; use Twig\Environment; use Twig\Error\Error; use Twig\Extension\DebugExtension; use Twig\Loader\ArrayLoader; use UnicaenRenderer\Entity\Db\Macro; use UnicaenRenderer\Entity\Db\Template; Loading @@ -20,10 +21,20 @@ class TwigTemplateEngine extends AbstractTemplateEngine { $this->twigLoader = new ArrayLoader(); $this->twig = new Environment($this->twigLoader, [ 'debug' => true, // NB : aucun impact si DebugExtension n'est pas activée. // 'cache' => '/path/to/compilation_cache', ]); } public function setDebugMode(bool $debugMode = true): void { parent::setDebugMode($debugMode); if ($this->debugMode) { $this->twig->addExtension(new DebugExtension()); } } public function checkTemplate(): array { throw new BadMethodCallException("Non supporté !"); Loading