backports murph-skeleton

This commit is contained in:
Simon Vieille 2021-05-02 21:29:33 +02:00
parent ef0ddbd559
commit 2670c322e6
3 changed files with 67 additions and 27 deletions

View file

@ -0,0 +1,34 @@
<?php
namespace App\Core\Twig\Extension;
use App\Core\Setting\SettingManager;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class SettingExtension extends AbstractExtension
{
private SettingManager $manager;
public function __construct(SettingManager $manager)
{
$this->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;
}
}

View file

@ -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,
],
]
);
}
}
}

View file

@ -109,13 +109,12 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</div>
</div>
{% set c %}Je soutiens <a href="https://www.tinternet.net/">Tinternet &amp; cie</a>, les <a href="https://chatons.org/">Chatons</a> et l'<a href="https://www.april.org/">April</a>{% endset %}
<div class="col-12 content-footer">
<p>{{- c|raw -}}</p>
<p>{{- setting('blog_footer_p1')|raw -}}</p>
<ul class="list--inline">
<li>Simon Vieille</li>
<li>Textes libres sauf indication(s) contraire(s)</li>
{%- for item in setting('blog_footer_p2')|split("\n") -%}
<li>{{- item|trim|raw -}}</li>
{% endfor %}
{% for item in _navigation.menu('footer').rootNode.children %}
{% if item.isVisible and item.treeLevel == 1 %}