/** * Return the form for editing an existing page. * * @param PageRepositoryInterface $pages * @param PageEntryFormBuilder $form * @param $id * @return \Symfony\Component\HttpFoundation\Response */ public function edit(PageRepositoryInterface $pages, PageEntryFormBuilder $form, $id) { $page = $pages->find($id); $this->dispatch(new AddEntryFormFromPage($form, $page)); $this->dispatch(new AddPageFormFromPage($form, $page)); return $form->render($id); }
/** * Handle the command. * * @param EntryFormBuilder $builder */ public function handle(EntryFormBuilder $builder) { $type = $this->page->getType(); $builder->setModel($type->getEntryModelName()); $builder->setEntry($this->page->getEntryId()); $this->builder->addForm('entry', $builder); }
/** * Handle the form sections. * * @param PageEntryFormBuilder $builder */ public function handle(PageEntryFormBuilder $builder) { $builder->setSections(['general' => ['fields' => ['page_title', 'page_slug']], 'fields' => ['fields' => function (PageEntryFormBuilder $builder) { return array_map(function (FieldType $field) { return 'entry_' . $field->getField(); }, array_filter($builder->getFormFields()->base()->all(), function (FieldType $field) { return !$field->getEntry() instanceof PageModel; })); }], 'seo' => ['fields' => ['page_meta_title', 'page_meta_keywords', 'page_meta_description']], 'options' => ['fields' => ['page_theme_layout', 'page_enabled', 'page_home', 'page_visible', 'page_exact', 'page_allowed_roles']]]); }
/** * Handle the command. * * @param TypeRepositoryInterface $types * @param PageFormBuilder $builder * @param Request $request */ public function handle(TypeRepositoryInterface $types, PageFormBuilder $builder, Request $request) { $this->builder->addForm('page', $builder->setType($types->find($request->get('type')))); }
/** * Handle the command. * * @param PageFormBuilder $builder */ public function handle(PageFormBuilder $builder) { $builder->setEntry($this->page->getId()); $this->builder->addForm('page', $builder); }
/** * Handle the command. * * @param TypeRepositoryInterface $types * @param EntryFormBuilder $builder * @param Request $request */ public function handle(TypeRepositoryInterface $types, EntryFormBuilder $builder, Request $request) { $type = $types->find($request->get('type')); $this->builder->addForm('entry', $builder->setModel($type->getEntryModelName())); }