diff --git a/core/Twig/Extension/SettingExtension.php b/core/Twig/Extension/SettingExtension.php new file mode 100644 index 0000000..defbc79 --- /dev/null +++ b/core/Twig/Extension/SettingExtension.php @@ -0,0 +1,34 @@ +manager = $manager; + } + + /** + * {@inheritdoc} + */ + public function getFunctions(): array + { + return [ + new TwigFunction('setting', [$this, 'getSetting']), + ]; + } + + public function getSetting(string $code) + { + $entity = $this->manager->get($code); + + return $entity ? $entity->getValue() : null; + } +} diff --git a/src/EventSuscriber/SettingEventSubscriber.php b/src/EventSuscriber/SettingEventSubscriber.php index 45f313e..e7837de 100644 --- a/src/EventSuscriber/SettingEventSubscriber.php +++ b/src/EventSuscriber/SettingEventSubscriber.php @@ -7,6 +7,7 @@ use App\Core\EventSuscriber\SettingEventSubscriber as EventSubscriber; use App\Core\Setting\SettingManager; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\TextType; +use Symfony\Component\Form\Extension\Core\Type\TextareaType; /** * class SettingEventSubscriber. @@ -24,8 +25,8 @@ class SettingEventSubscriber extends EventSubscriber public function onInit(SettingEvent $event) { - // $this->manager->init('myapp_foo', 'My app', 'Foo', 'Default value'); - // $this->manager->init('myapp_bar', 'My app', 'Bar', true); + $this->manager->init('blog_footer_p1', 'Pied de page', 'Soutiens', ''); + $this->manager->init('blog_footer_p2', 'Pied de page', 'Signature', ''); } public function onFormInit(SettingEvent $event) @@ -34,25 +35,31 @@ class SettingEventSubscriber extends EventSubscriber $builder = $data['builder']; $entity = $data['entity']; - // if ('myapp_foo' === $entity->getCode()) { - // $builder->add( - // 'value', - // TextType::class, - // [ - // 'label' => $entity->getLabel(), - // ] - // ); - // } - // - // if ('myapp_bar' === $entity->getCode()) { - // $builder->add( - // 'value', - // CheckboxType::class, - // [ - // 'label' => $entity->getLabel(), - // 'required' => false, - // ] - // ); - // } + if ('blog_footer_p1' === $entity->getCode()) { + $builder->add( + 'value', + TextareaType::class, + [ + 'label' => $entity->getLabel(), + 'attr' => [ + 'rows' => 10, + ], + ] + ); + } + + if ('blog_footer_p2' === $entity->getCode()) { + $builder->add( + 'value', + TextareaType::class, + [ + 'label' => $entity->getLabel(), + 'attr' => [ + 'rows' => 10, + ], + ] + ); + } + } } diff --git a/templates/base.html.twig b/templates/base.html.twig index cdc95e1..b46e54b 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -109,13 +109,12 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - {% set c %}Je soutiens Tinternet & cie, les Chatons et l'April{% endset %} -