diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index f727e09..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/page-bundle.iml b/.idea/page-bundle.iml
deleted file mode 100644
index c956989..0000000
--- a/.idea/page-bundle.iml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/php.xml b/.idea/php.xml
deleted file mode 100644
index a71204a..0000000
--- a/.idea/php.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
deleted file mode 100644
index 655e5e9..0000000
--- a/.idea/workspace.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $PROJECT_DIR$/../../../movies-rest/composer.json
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
-
- false
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1587741363361
-
-
- 1587741363361
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1631626399477
-
-
-
- 1631626399477
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/AropixelPageBundle.php b/AropixelPageBundle.php
index e1cff62..63e0639 100644
--- a/AropixelPageBundle.php
+++ b/AropixelPageBundle.php
@@ -2,7 +2,6 @@
namespace Aropixel\PageBundle;
-use Aropixel\AdminBundle\DependencyInjection\Compiler\MenuCompilerPass;
use Aropixel\PageBundle\DependencyInjection\Compiler\DoctrineTargetEntitiesResolverPass;
use Aropixel\PageBundle\DependencyInjection\Compiler\PageFormResolverPass;
use Symfony\Component\DependencyInjection\Compiler\PassConfig;
@@ -11,7 +10,7 @@
class AropixelPageBundle extends Bundle
{
- public function build(ContainerBuilder $container)
+ public function build(ContainerBuilder $container) : void
{
parent::build($container);
$container->addCompilerPass(new PageFormResolverPass());
diff --git a/Controller/PageController.php b/Controller/PageController.php
deleted file mode 100644
index c72ff51..0000000
--- a/Controller/PageController.php
+++ /dev/null
@@ -1,244 +0,0 @@
-parameterBag = $parameterBag;
- $this->formFactory = $formFactory;
-
- $entities = $parameterBag->get('aropixel_page.entities');
- $forms = $parameterBag->get('aropixel_page.forms');
-
- $this->model = $entities[PageInterface::class];
-// $this->form = $forms[PageInterface::class];
- }
-
-
- /**
- * @Route("/{type}/list", name="aropixel_page_index", methods={"GET","POST"})
- */
- public function index(PageRepository $pageRepository, $type): Response
- {
- //
- $pages = $pageRepository->findBy(['type' => $type], ['title' => 'ASC']);
-
- //
- $delete_forms = array();
- foreach ($pages as $entity) {
- $deleteForm = $this->createDeleteForm($entity);
- $delete_forms[$entity->getId()] = $deleteForm->createView();
- }
-
- //
- return $this->render('@AropixelPage/index.html.twig', [
- 'type' => $type,
- 'pages' => $pages,
- 'delete_forms' => $delete_forms,
- ]);
- }
-
-
- /**
- * @Route("/{type}/page", name="aropixel_page", methods={"GET","POST"})
- */
- public function page(Request $request, $type): Response
- {
- $em = $this->getDoctrine()->getManager();
- $page = $em->getRepository($this->model)->findOneBy(['type' => $type]);
-
- if (!$page) {
-
- /** @var PageInterface $page */
- $page = new $this->model();
- $page->setStatus(Publishable::STATUS_ONLINE);
- $page->setType($type);
-
- }
-
- $form = $this->formFactory->createForm($page);
- $form->handleRequest($request);
-
- if ($form->isSubmitted() && $form->isValid()) {
-
- $em = $this->getDoctrine()->getManager();
- $em->persist($page);
- $em->flush();
-
- $this->addFlash('notice', 'La page a bien été enregistrée.');
- return $this->redirectToRoute('aropixel_page', array('type' => $type));
- }
-
-
- return $this->render($this->getTemplatePath().'/'.$type.'/form.html.twig', [
- 'page' => $page,
- 'form' => $form->createView(),
- ]);
- }
-
-
- /**
- * @Route("/{type}/new", name="aropixel_page_new", methods={"GET","POST"})
- */
- public function new(Request $request, $type): Response
- {
- /** @var PageInterface $page */
- $page = new $this->model();
- $page->setType($type);
-
- $form = $this->formFactory->createForm($page);
- $form->handleRequest($request);
-
- if ($form->isSubmitted() && $form->isValid()) {
-
- $em = $this->getDoctrine()->getManager();
- $em->persist($page);
- $em->flush();
-
- $this->addFlash('notice', 'La page a bien été enregistrée.');
- return $this->redirectToRoute('aropixel_page_edit', array('type' => $page->getType(), 'id' => $page->getId()));
- }
-
-
- return $this->render($this->getTemplatePath().'/'.$type.'/form.html.twig', [
- 'page' => $page,
- 'form' => $form->createView(),
- ]);
- }
-
-
- /**
- * @Route("/{type}/{id}/edit", name="aropixel_page_edit", methods={"GET","POST"})
- */
- public function edit(Request $request, $id): Response
- {
-
- $em = $this->getDoctrine()->getManager();
- $page = $em->getRepository($this->model)->find($id);
- if (!$page) {
- throw $this->createNotFoundException();
- }
-
- $auth_checker = $this->get('security.authorization_checker');
- $isRoleAdmin = $auth_checker->isGranted('ROLE_HYPER_ADMIN');
-
- $deleteForm = $this->createDeleteForm($page);
- $form = $this->formFactory->createForm($page);
- $form->handleRequest($request);
-
- if ($form->isSubmitted() && $form->isValid()) {
-
- $this->addFlash('notice', 'La page a bien été enregistrée.');
- $this->getDoctrine()->getManager()->flush();
-
- return $this->redirectToRoute('aropixel_page_edit', array('type' => $page->getType(), 'id' => $page->getId()));
-
- }
-
- return $this->render($this->getTemplatePath().'/'.$page->getType().'/form.html.twig', [
- 'page' => $page,
- 'form' => $form->createView(),
- 'delete_form' => ((!$page->getType() == 'default' || $isRoleAdmin) ? $deleteForm->createView() : false)
- ]);
- }
-
-
- /**
- * @Route("/{id}/status", name="aropixel_page_status", methods={"GET"})
- */
- public function status(Page $page, Status $status)
- {
- return $status->changeStatus($page);
-
- }
-
-
- /**
- * @Route("/{id}", name="aropixel_page_delete", methods={"DELETE"})
- */
- public function delete(Request $request, $id): Response
- {
-
- /** @var Page $page */
- $em = $this->getDoctrine()->getManager();
- $page = $em->getRepository($this->model)->find($id);
- $type = $page->getType();
- if (!$page) {
- throw $this->createNotFoundException();
- }
-
- $titre = $page->getTitle();
- $form = $this->createDeleteForm($page);
- $form->handleRequest($request);
-
- if ($form->isSubmitted() && $form->isValid()) {
-
- $em = $this->getDoctrine()->getManager();
- $em->remove($page);
- $em->flush();
-
- $this->get('session')->getFlashBag()->add('notice', 'La page "'.$titre.'" a bien été supprimé.');
- }
-
- return $this->redirectToRoute('aropixel_page_index', ['type' => $type]);
- }
-
- /**
- * Creates a form to delete the entity.
- * @return FormInterface The form
- */
- private function createDeleteForm(Page $page)
- {
- return $this->createFormBuilder()
- ->setAction($this->generateUrl('aropixel_page_delete', array('id' => $page->getId())))
- ->setMethod('DELETE')
- ->getForm()
- ;
- }
-
- private function getTemplatePath()
- {
- $formsConfig = $this->getParameter('aropixel_page.forms');
- return $formsConfig['template_path'];
- }
-}
diff --git a/Entity/Page.php b/Entity/Page.php
index 4ee093b..944f5e1 100644
--- a/Entity/Page.php
+++ b/Entity/Page.php
@@ -3,6 +3,7 @@
namespace Aropixel\PageBundle\Entity;
use Aropixel\AdminBundle\Entity\Publishable;
+use Aropixel\AdminBundle\Entity\PublishableTrait;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Symfony\Component\PropertyAccess\PropertyAccess;
@@ -100,7 +101,7 @@ class Page implements PageInterface
*/
protected $fieldValues;
-
+ use PublishableTrait;
public function __construct()
{
diff --git a/EventListener/DoFileCropListener.php b/EventListener/DoFileCropListener.php
index 59955f8..08bb38f 100644
--- a/EventListener/DoFileCropListener.php
+++ b/EventListener/DoFileCropListener.php
@@ -2,21 +2,19 @@
namespace Aropixel\PageBundle\EventListener;
-use Aropixel\AdminBundle\Entity\CropInterface;
+use Aropixel\AdminBundle\Domain\Media\Image\Crop\CropApplierInterface;
use Aropixel\AdminBundle\Entity\ImageInterface;
-use Aropixel\AdminBundle\Image\Cropper;
use Aropixel\PageBundle\Entity\FieldInterface;
use Doctrine\ORM\Event\LifecycleEventArgs;
class DoFileCropListener
{
- /** @var Cropper */
- private $cropper;
+ private CropApplierInterface $cropper;
/**
*/
- public function __construct(Cropper $cropper)
+ public function __construct(CropApplierInterface $cropper)
{
$this->cropper = $cropper;
}
diff --git a/Form/Type/AbstractPageType.php b/Form/Type/AbstractPageType.php
index be71d13..fe068b8 100644
--- a/Form/Type/AbstractPageType.php
+++ b/Form/Type/AbstractPageType.php
@@ -59,8 +59,8 @@ public function buildForm(FormBuilderInterface $builder, array $options)
{
if ($builder->getData() && $builder->getData()->getType()=='default') {
$builder
- ->add('title', TextType::class, array('label' => 'Titre de la page'))
- ->add('slug', HiddenType::class)
+ ->add('title', TextType::class, array('label' => 'Title of the page'))
+ ->add('slug', TextType::class, array('label' => 'Permalink'))
;
}
diff --git a/Form/Type/DefaultPageType.php b/Form/Type/DefaultPageType.php
index 2b4ce94..cff243a 100644
--- a/Form/Type/DefaultPageType.php
+++ b/Form/Type/DefaultPageType.php
@@ -48,20 +48,14 @@ public function buildForm(FormBuilderInterface $builder, array $options)
//
parent::buildForm($builder, $options);
$builder
- ->add('excerpt', null, array('label' => 'Chapeau'))
+ ->add('excerpt', null, array('label' => 'Header'))
->add('description', TextareaType::class, array('label' => 'Description', 'attr' => array('class' => 'ckeditor')))
->add('image', ImageType::class, [
'data_class' => $fieldClass,
'data_value' => 'value',
'library' => self::class
])
- ->add('status', ChoiceType::class, array(
- 'choices' => array(
- 'Oui' => 'online',
- 'Non' => 'offline',
- ),
- 'expanded' => true
- ))
+ ->add('status', HiddenType::class)
->add('createdAt', DateTimeType::class, array(
'required' => false,
'date_widget' => 'single_text',
diff --git a/Http/Action/Page/CreatePageAction.php b/Http/Action/Page/CreatePageAction.php
new file mode 100644
index 0000000..f212210
--- /dev/null
+++ b/Http/Action/Page/CreatePageAction.php
@@ -0,0 +1,62 @@
+formFactory = $formFactory;
+ $this->factory = $factory;
+ $this->pageRepository = $pageRepository;
+ $this->request = $request;
+ $this->translator = $translator;
+ }
+
+
+ public function __invoke(string $type) : Response
+ {
+ $page = new $this->model();
+ $page->setType($type);
+
+ $form = $this->factory->createForm($page);
+ $form->handleRequest($this->request->getMainRequest());
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $this->pageRepository->add($page, true);
+
+ $this->addFlash('notice', $this->translator->trans('The page has been successfully saved.'));
+ return $this->redirectToRoute('aropixel_page_edit', array('type' => $page->getType(), 'id' => $page->getId()));
+ }
+
+ return $this->render($this->formFactory->getTemplatePath().'/'.$type.'/form.html.twig', [
+ 'page' => $page,
+ 'form' => $form->createView(),
+ ]);
+ }
+}
\ No newline at end of file
diff --git a/Http/Action/Page/CreateUniquePageAction.php b/Http/Action/Page/CreateUniquePageAction.php
new file mode 100644
index 0000000..379ff12
--- /dev/null
+++ b/Http/Action/Page/CreateUniquePageAction.php
@@ -0,0 +1,71 @@
+formFactory = $formFactory;
+ $this->factory = $factory;
+ $this->pageRepository = $pageRepository;
+ $this->request = $request;
+ $this->translator = $translator;
+ }
+
+
+ public function __invoke(string $type) : Response
+ {
+ $page = $this->pageRepository->findOneBy(['type' => $type]);
+
+ if (!$page) {
+ /** @var PageInterface $page */
+ $page = new $this->model();
+ $page->setStatus(Publishable::STATUS_ONLINE);
+ $page->setType($type);
+ }
+
+ $form = $this->factory->createForm($page);
+ $form->handleRequest($this->request->getMainRequest());
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $this->pageRepository->add($page, true);
+
+ $this->addFlash('notice', $this->translator->trans('The page has been successfully saved.'));
+ return $this->redirectToRoute('aropixel_page', array('type' => $page->getType(), 'id' => $page->getId()));
+ }
+
+ return $this->render($this->formFactory->getTemplatePath().'/'.$type.'/form.html.twig', [
+ 'page' => $page,
+ 'form' => $form->createView(),
+ ]);
+
+ }
+}
\ No newline at end of file
diff --git a/Http/Action/Page/DeletePageAction.php b/Http/Action/Page/DeletePageAction.php
new file mode 100644
index 0000000..247592e
--- /dev/null
+++ b/Http/Action/Page/DeletePageAction.php
@@ -0,0 +1,51 @@
+formFactory = $formFactory;
+ $this->pageRepository = $pageRepository;
+ $this->request = $request;
+ $this->translator = $translator;
+ }
+
+
+ public function __invoke(int $id) : Response
+ {
+ $page = $this->pageRepository->find($id);
+ $type = $page->getType();
+
+ $form = $this->formFactory->createDeleteForm($page);
+ $form->handleRequest($this->request->getMainRequest());
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $this->pageRepository->remove($page, true);
+
+ $this->addFlash('notice', $this->translator->trans('The page has been successfully deleted.'));
+ }
+
+ return $this->redirectToRoute('aropixel_page_index', ['type' => $type]);
+
+ }
+}
\ No newline at end of file
diff --git a/Http/Action/Page/EditPageAction.php b/Http/Action/Page/EditPageAction.php
new file mode 100644
index 0000000..6814eee
--- /dev/null
+++ b/Http/Action/Page/EditPageAction.php
@@ -0,0 +1,73 @@
+authorizationChecker = $authorizationChecker;
+ $this->formFactory = $formFactory;
+ $this->factory = $factory;
+ $this->pageRepository = $pageRepository;
+ $this->request = $request;
+ $this->translator = $translator;
+ }
+
+
+ public function __invoke(int $id) : Response
+ {
+ $page = $this->pageRepository->find($id);
+
+ if (!$page) {
+ throw $this->createNotFoundException();
+ }
+
+ $isRoleAdmin = $this->authorizationChecker->isGranted('ROLE_HYPER_ADMIN');
+
+ $deleteForm = $this->formFactory->createDeleteForm($page);
+ $form = $this->factory->createForm($page);
+ $form->handleRequest($this->request->getMainRequest());
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $this->pageRepository->add($page, true);
+
+ $this->addFlash('notice', $this->translator->trans('The page has been successfully saved.'));
+ return $this->redirectToRoute('aropixel_page_edit', array('type' => $page->getType(), 'id' => $page->getId()));
+ }
+ return $this->render($this->formFactory->getTemplatePath().'/'.$page->getType().'/form.html.twig', [
+ 'page' => $page,
+ 'form' => $form->createView(),
+ 'delete_form' => ((!$page->getType() == 'default' || $isRoleAdmin) ? $deleteForm->createView() : false)
+ ]);
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/Http/Action/Page/IndexPageAction.php b/Http/Action/Page/IndexPageAction.php
new file mode 100644
index 0000000..26697a6
--- /dev/null
+++ b/Http/Action/Page/IndexPageAction.php
@@ -0,0 +1,43 @@
+formFactory = $formFactory;
+ $this->pageRepository = $pageRepository;
+ }
+
+
+ public function __invoke(string $type) : Response
+ {
+ $pages = $this->pageRepository->findBy(['type' => $type], ['title' => 'ASC']);
+
+ $delete_forms = array();
+ foreach ($pages as $page) {
+ $deleteForm = $this->formFactory->createDeleteForm($page);
+ $delete_forms[$page->getId()] = $deleteForm->createView();
+ }
+
+ return $this->render('@AropixelPage/index.html.twig', [
+ 'type' => $type,
+ 'pages' => $pages,
+ 'delete_forms' => $delete_forms,
+ ]);
+ }
+
+}
\ No newline at end of file
diff --git a/Http/Action/Page/StatusPageAction.php b/Http/Action/Page/StatusPageAction.php
new file mode 100644
index 0000000..bb51681
--- /dev/null
+++ b/Http/Action/Page/StatusPageAction.php
@@ -0,0 +1,26 @@
+status = $status;
+ }
+
+ public function __invoke(Page $page) : Response
+ {
+ return $this->status->changeStatus($page);
+ }
+
+}
\ No newline at end of file
diff --git a/Http/Form/Page/FormFactory.php b/Http/Form/Page/FormFactory.php
new file mode 100644
index 0000000..df63389
--- /dev/null
+++ b/Http/Form/Page/FormFactory.php
@@ -0,0 +1,31 @@
+createFormBuilder()
+ ->setAction($this->generateUrl('aropixel_page_delete', array('id' => $page->getId())))
+ ->setMethod('DELETE')
+ ->getForm()
+ ;
+ }
+
+ public function getTemplatePath()
+ {
+ $formsConfig = $this->getParameter('aropixel_page.forms');
+ return $formsConfig['template_path'];
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/Repository/PageRepository.php b/Repository/PageRepository.php
index 116986f..070bfd2 100644
--- a/Repository/PageRepository.php
+++ b/Repository/PageRepository.php
@@ -2,7 +2,7 @@
namespace Aropixel\PageBundle\Repository;
-use Aropixel\AdminBundle\Repository\PublishableRepository;
+use Aropixel\AdminBundle\Infrastructure\Publication\Repository\PublishableRepository;
use Aropixel\PageBundle\Entity\Page;
use Aropixel\PageBundle\Entity\PageInterface;
use Doctrine\Persistence\ManagerRegistry;
@@ -51,6 +51,25 @@ public function findPages($type)
;
}
+ public function add(Page $page, bool $flush = false): void
+ {
+ $this->getEntityManager()->persist($page);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+ public function remove(Page $page, bool $flush = false) : void
+ {
+ $this->getEntityManager()->remove($page);
+
+ if ($flush) {
+ $this->getEntityManager()->flush();
+ }
+ }
+
+
/*
public function findOneBySomeField($value): ?Page
diff --git a/Resources/config/routing.yml b/Resources/config/routing.yml
index 9b69398..bff06ae 100644
--- a/Resources/config/routing.yml
+++ b/Resources/config/routing.yml
@@ -1,3 +1,24 @@
+aropixel_page_index:
+ path: /page/{type}/list
+ controller: Aropixel\PageBundle\Http\Action\Page\IndexPageAction
+
+aropixel_page_new:
+ path: /page/{type}/new
+ controller: Aropixel\PageBundle\Http\Action\Page\CreatePageAction
+
+aropixel_page_edit:
+ path: /page/{type}/{id}/edit
+ controller: Aropixel\PageBundle\Http\Action\Page\EditPageAction
+
+aropixel_page_delete:
+ path: /page/{id}
+ controller: Aropixel\PageBundle\Http\Action\Page\DeletePageAction
+ methods: DELETE
+
aropixel_page:
- resource: "@AropixelPageBundle/Controller/PageController.php"
- type: annotation
+ path: /page/{type}/page
+ controller: Aropixel\PageBundle\Http\Action\Page\CreateUniquePageAction
+
+aropixel_page_status:
+ path: /page/{id}/status
+ controller: Aropixel\PageBundle\Http\Action\Page\StatusPageAction
diff --git a/Resources/config/services.yml b/Resources/config/services.yml
index 2da187f..ee173b3 100644
--- a/Resources/config/services.yml
+++ b/Resources/config/services.yml
@@ -20,11 +20,10 @@ services:
Aropixel\PageBundle\Form\FormFactoryInterface: '@aropixel.page.form.factory'
- # controllers are imported separately to make sure services can be injected
- # as action arguments even if you don't extend any base controller class
- Aropixel\PageBundle\Controller\:
- resource: '../../Controller'
- tags: ['controller.service_arguments']
+
+ Aropixel\PageBundle\Http\:
+ resource: '../../Http'
+ tags: [ 'controller.service_arguments' ]
aropixel.page.form.default:
class: '%aropixel_page.form.default%'
@@ -41,7 +40,7 @@ services:
Aropixel\PageBundle\EventListener\DoFileCropListener:
- arguments: ['@Aropixel\AdminBundle\Image\Cropper']
+ arguments: ['@Aropixel\AdminBundle\Domain\Media\Image\Crop\CropApplierInterface']
tags:
- { name: doctrine.event_listener, event: postPersist }
- { name: doctrine.event_listener, event: postUpdate }
diff --git a/Resources/translations/messages.fr.xlf b/Resources/translations/messages.fr.xlf
new file mode 100644
index 0000000..8b4f771
--- /dev/null
+++ b/Resources/translations/messages.fr.xlf
@@ -0,0 +1,80 @@
+
+
+
+
+
+ Manage the pages of your website
+ Administrez les pages de votre site
+
+
+ Pages list
+ Liste des pages
+
+
+ Put offline
+ Mettre hors-ligne
+
+
+ Put online
+ Mettre en ligne
+
+
+ Are you sure you want to put this page
+ Êtes-vous certain de vouloir mettre cette page
+
+
+ Title of the page
+ Titre de la page
+
+
+ Header
+ Chapeau
+
+
+ Content
+ Contenu
+
+
+ SEO
+ Référencement
+
+
+ Set your publication options
+ Paramétrez vos options de publication
+
+
+ Post
+ Publier
+
+
+ Post on
+ Publier le
+
+
+ Until
+ Jusqu'au
+
+
+ The page has been successfully saved.
+ La page a bien été enregistrée.
+
+
+ The page has been successfully deleted.
+ La page a bien été supprimée.
+
+
+ Add
+ Ajouter
+
+
+ New
+ Créer
+
+
+ Created on
+ Date de création
+
+
+
+
+
diff --git a/Resources/views/base.html.twig b/Resources/views/base.html.twig
index b3196cb..7aa7aa0 100644
--- a/Resources/views/base.html.twig
+++ b/Resources/views/base.html.twig
@@ -1,30 +1,20 @@
{% extends '@AropixelAdmin/Form/base.html.twig' %}
{% block header_title %}Pages{% endblock %}
-{% block header_breadcrumb %}
- {#
#}
- {# - Accueil
#}
- {# - Pages
#}
- {# {% if page.id %}#}
- {# - Modifier
#}
- {# {% else %}#}
- {# - Création
#}
- {# {% endif %}#}
- {#
#}
-{% endblock %}
+{% block header_breadcrumb %}{% endblock %}
{% block header_elements %}
{% set baseroute = get_baseroute() %}
{% if page and route_exists(baseroute ~ '_index') %}
-
+
{% endif %}
{% if app.request.get('_route') != baseroute ~ '_new' and route_exists(baseroute ~ '_new') %}
-
+
diff --git a/Resources/views/default/form.html.twig b/Resources/views/default/form.html.twig
index c0d7f61..fbe7973 100644
--- a/Resources/views/default/form.html.twig
+++ b/Resources/views/default/form.html.twig
@@ -1,33 +1,39 @@
{% extends '@AropixelPage/base.html.twig' %}
+{% form_theme form '@AropixelAdmin/Form/layout.html.twig' %}
+
{% block header_title %}Pages{% endblock %}
{% block header_breadcrumb %}
-{# #}
-{# - Accueil
#}
-{# - Pages
#}
-{# {% if page.id %}#}
-{# - Modifier
#}
-{# {% else %}#}
-{# - Création
#}
-{# {% endif %}#}
-{#
#}
+
{% endblock %}
-{% block mainPanel %}
-
+{% block tabbable %}
+ {% trans %}Content{% endtrans %}
+ {% trans %}SEO{% endtrans %}
+{% endblock %}
+{% block header_image %}
+ {% set field = form.image is defined ? form.image.vars.value : null %}
+
+{% endblock %}
-
+{% block mainPanel %}
-
+
-
+
@@ -42,16 +48,14 @@
-
+
-
+
{{ form_row(form.metaTitle) }}
-
{{ form_row(form.metaDescription) }}
-
{{ form_row(form.metaKeywords) }}
@@ -60,8 +64,5 @@
-
-
-
{% endblock %}
diff --git a/Resources/views/index.html.twig b/Resources/views/index.html.twig
index 363b5d2..9960af6 100644
--- a/Resources/views/index.html.twig
+++ b/Resources/views/index.html.twig
@@ -1,9 +1,9 @@
{% extends '@AropixelAdmin/List/datatable.html.twig' %}
-{% block header_title %}Pages{% endblock %}
+{% block header_title %}Pages
{% trans %}Manage the pages of your website{% endtrans %}{% endblock %}
{% block header_breadcrumb %}
{% endblock %}
@@ -12,13 +12,13 @@
{% block header_elements %}
{% set baseroute = get_baseroute() %}
{% if route_exists(baseroute ~ '_new') %}
-
+
{% endif %}
{% if route_exists(baseroute ~ '_order') %}
-
+
@@ -26,7 +26,7 @@
{% endblock %}
-{% block paneltitle %}Liste des pages{% endblock %}
+{% block paneltitle %}{% trans %}Pages list{% endtrans %}{% endblock %}
{% block paneldatatable %}
@@ -34,9 +34,9 @@
- | Titre |
- Date |
- Actions |
+ {% trans %}Title{% endtrans %} |
+ {% trans %}Created on{% endtrans %} |
+ Actions |
@@ -44,19 +44,20 @@
| {{ page.title }} |
{{ page.createdAt|date('d/m/Y') }} |
-
+ |
-
- Modifier
-
-
- {{ form(delete_forms[page.id]) }}
-
+
+
|
diff --git a/composer.json b/composer.json
index c190043..69106f9 100644
--- a/composer.json
+++ b/composer.json
@@ -18,7 +18,7 @@
}
},
"require" : {
- "aropixel/admin-bundle": "^1.2"
+ "aropixel/admin-bundle": "dev-feature/v3/boostrap"
},
"scripts": {
"auto-scripts": {