diff --git a/addons/default/visiosoft/cats-module/resources/views/cats/admin-cat.twig b/addons/default/visiosoft/cats-module/resources/views/cats/admin-cat.twig index c379b402f..e07dbcc6d 100644 --- a/addons/default/visiosoft/cats-module/resources/views/cats/admin-cat.twig +++ b/addons/default/visiosoft/cats-module/resources/views/cats/admin-cat.twig @@ -1,25 +1,39 @@ {% extends "theme::layouts/default" %} {% block content %} {% include "theme::partials/messages" %} - {% set form = form('cats','category').entry(id).get() %} - {{ form_open()|raw }} -
-
-
- {{ form.fields.name|raw }} - {{ form.fields.slug|raw }} - - {{ form.fields.order|raw }} - {{ form.fields.files|raw }} -
-
-
-
- {{ form.actions|raw }} -
+ +
+
+
+ + {% set actions = ['save'] %} + + {% if id is not null %} + {% set actions = ['update'] %} + {% endif %} + + {% set form = form('cats','category').entry(id).actions(actions).get() %} + {{ form_open({ + 'class': 'form ' ~ form.options.class , + 'enctype': 'multipart/form-data', + })|raw }} +
+
+ {{ nameField|raw }} + {{ form.fields.slug|raw }} + + {{ form.fields.order|raw }} + {{ form.fields.files|raw }} +
+
- {{ form.close|raw}} +
+
+ {{ form.actions|raw }} +
+
+
{{ asset_add("scripts.js", "visiosoft.module.cats::js/admin-cat.js") }} {% endblock %} \ No newline at end of file diff --git a/addons/default/visiosoft/cats-module/src/Http/Controller/Admin/CategoryController.php b/addons/default/visiosoft/cats-module/src/Http/Controller/Admin/CategoryController.php index c8afcffc4..ea7772eff 100644 --- a/addons/default/visiosoft/cats-module/src/Http/Controller/Admin/CategoryController.php +++ b/addons/default/visiosoft/cats-module/src/Http/Controller/Admin/CategoryController.php @@ -2,6 +2,7 @@ use Anomaly\Streams\Platform\Model\Cats\CatsCategoryEntryModel; use Illuminate\Http\Request; +use Sunra\PhpSimple\HtmlDomParser; use Visiosoft\CatsModule\Category\CategoryCollection; use Visiosoft\CatsModule\Category\CategoryModel; use Visiosoft\CatsModule\Category\Form\CategoryFormBuilder; @@ -65,9 +66,21 @@ class CategoryController extends AdminController return $this->redirect->to('/admin/cats/create'); } return $this->redirect->to('/admin/cats'); + } else { + $form->setFields(['name']); + $form->setActions(['save']); + $formBuilder = $form; + $nameField = HTMLDomParser::str_get_html($form->render()->getContent()); + $nameField = $nameField->find('.name', 0); + if ($nameField !== null) { + $nameField = $nameField->innertext(); + } else { + $nameField = ""; + } } - return $this->view->make('visiosoft.module.cats::cats/admin-cat'); + + return $this->view->make('visiosoft.module.cats::cats/admin-cat', compact('nameField','formBuilder')); } /** @@ -84,8 +97,18 @@ class CategoryController extends AdminController if ($form->hasFormErrors()) { return $this->redirect->back(); } + } else { + $form->setFields(['name']); + $nameField = HTMLDomParser::str_get_html($form->render($id)->getContent()); + $nameField = $nameField->find('.name', 0); + if ($nameField !== null) { + $nameField = $nameField->innertext(); + } else { + $nameField = ""; + } } - return $this->view->make('visiosoft.module.cats::cats/admin-cat')->with('id', $id); + + return $this->view->make('visiosoft.module.cats::cats/admin-cat', compact('nameField'))->with('id', $id); } public function delete($id)