diff --git a/web/concrete/blocks/image_slider/composer.php b/web/concrete/blocks/image_slider/composer.php index df4173619b6..ecbb1aff3f9 100644 --- a/web/concrete/blocks/image_slider/composer.php +++ b/web/concrete/blocks/image_slider/composer.php @@ -1,3 +1,3 @@ inc('form_setup_html.php', array('view' => $view)); \ No newline at end of file +$view->inc('form_setup_html.php', array('view' => $view)); \ No newline at end of file diff --git a/web/concrete/blocks/image_slider/controller.php b/web/concrete/blocks/image_slider/controller.php index b8ee777cd26..ef43c6b4969 100644 --- a/web/concrete/blocks/image_slider/controller.php +++ b/web/concrete/blocks/image_slider/controller.php @@ -60,6 +60,11 @@ public function edit() $this->set('rows', $query); } + public function composer() + { + $this->edit(); + } + public function registerViewAssets() { $this->requireAsset('javascript', 'jquery'); diff --git a/web/concrete/src/Page/Type/Composer/Control/BlockControl.php b/web/concrete/src/Page/Type/Composer/Control/BlockControl.php index b8de8db3c6e..ab1f99e0c92 100644 --- a/web/concrete/src/Page/Type/Composer/Control/BlockControl.php +++ b/web/concrete/src/Page/Type/Composer/Control/BlockControl.php @@ -20,6 +20,7 @@ class BlockControl extends Control protected $ptComposerControlTypeHandle = 'block'; protected $bt = false; protected $b = false; + protected $controller; public function setBlockTypeID($btID) { @@ -178,6 +179,15 @@ public function addToPageTypeComposerFormLayoutSet(PageTypeComposerFormLayoutSet return $layoutSetControl; } + protected function getController($obj) + { + if (!isset($this->controller)) { + $this->controller = $obj->getController(); + $this->controller->setupAndRun('composer'); + } + return $this->controller; + } + public function render($label, $customTemplate, $description) { $obj = $this->getPageTypeComposerControlDraftValue(); @@ -191,8 +201,7 @@ public function render($label, $customTemplate, $description) $obj = $this->getBlockTypeObject(); } - $cnt = $obj->getController(); - $cnt->setupAndRun('composer'); + $this->getController($obj); $env = Environment::get(); $form = Loader::helper('form'); @@ -224,7 +233,9 @@ public function inc($file, $args = array()) $obj = $this->getBlockTypeObject(); } } - $controller = $obj->getController(); + + $controller = $this->getController($obj); + extract($controller->getSets()); extract($controller->getHelperObjects()); $label = $this->getPageTypeComposerFormLayoutSetControlObject()->getPageTypeComposerControlDisplayLabel();