src/AppBundle/Controller/ContentController.php line 31

Open in your IDE?
  1. <?php
  2. namespace AppBundle\Controller;
  3. use Pimcore\Controller\Configuration\ResponseHeader;
  4. use Pimcore\Controller\FrontendController;
  5. use Pimcore\Model\Asset;
  6. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use Symfony\Component\Form\Form;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\HttpFoundation\Response;
  13. class ContentController extends FrontendController
  14. {
  15.     public function defaultAction()
  16.     {
  17.     }
  18.     /**
  19.      * The annotations below demonstrate the ResponseHeader annotation which can be
  20.      * used to set custom response headers on the auto-rendered response. At this point, the headers
  21.      * are not really set as we don't have a response yet, but they will be added to the final response
  22.      * by the ResponseHeaderListener.
  23.      *
  24.      * @ResponseHeader("X-Custom-Header", values={"Foo", "Bar"})
  25.      * @ResponseHeader("X-Custom-Header2", values="Bazinga", replace=true)
  26.      */
  27.     public function portalAction()
  28.     {
  29.         // you can also set the header via code
  30.         $this->addResponseHeader('X-Custom-Header3', ['foo''bar']);
  31.         $this->view->isPortal true;
  32.     }
  33.     public function thumbnailsAction()
  34.     {
  35.     }
  36.     public function websiteTranslationsAction()
  37.     {
  38.     }
  39.     public function editableRoundupAction()
  40.     {
  41.     }
  42.     public function simpleFormAction(Request $request)
  43.     {
  44.         // we directly use the form builder here, but it's recommended to create a dedicated
  45.         // form type class for your forms (see forms on advanced examples)
  46.         // see http://symfony.com/doc/current/forms.html
  47.         /** @var Form $form */
  48.         $form $this->createFormBuilder()
  49.             ->add('firstname'TextType::class, [
  50.                 'label'       => 'Firstname',
  51.                 'required'    => true
  52.             ])
  53.             ->add('lastname'TextType::class, [
  54.                 'label'    => 'Lastname',
  55.                 'required' => true
  56.             ])
  57.             ->add('email'EmailType::class, [
  58.                 'label'    => 'E-Mail',
  59.                 'required' => true,
  60.                 'attr'     => [
  61.                     'placeholder' => 'example@example.com'
  62.                 ]
  63.             ])
  64.             ->add('checkbox'CheckboxType::class, [
  65.                 'label' => 'Check me out'
  66.             ])
  67.             ->add('submit'SubmitType::class, [
  68.                 'label' => 'Submit'
  69.             ])
  70.             ->getForm();
  71.         $form->handleRequest($request);
  72.         $success false;
  73.         if ($form->isSubmitted()) {
  74.             if ($form->isValid()) {
  75.                 $success true;
  76.                 // we just assign the data to the view for now
  77.                 // of course you can store the data here into an object, or send a mail, ... do whatever you want or need
  78.                 $this->view->getParameters()->add($form->getData());
  79.             }
  80.         }
  81.         // add success state and form view to the view
  82.         $this->view->success $success;
  83.         $this->view->form    $form->createView();
  84.     }
  85.     /**
  86.      * @param Request $request
  87.      *
  88.      * @return Response
  89.      */
  90.     public function galleryRenderletAction(Request $request)
  91.     {
  92.         if ($request->get('id') && $request->get('type') === 'asset') {
  93.             $this->view->asset Asset::getById($request->get('id'));
  94.         }
  95.     }
  96. }