From 48c49d36d6766660eb670bfba800ef9b8be33634 Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Tue, 5 Dec 2017 16:19:04 +0100 Subject: [PATCH] fix: quiqqer/package-bricks#62 --- ajax/getBrick.php | 6 +++--- bin/BrickEdit.js | 10 ++++++++++ bricks.xml | 2 +- src/QUI/Bricks/Brick.php | 3 ++- src/QUI/Bricks/Utils.php | 13 +++++++++++-- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/ajax/getBrick.php b/ajax/getBrick.php index 745ca27..36113b6 100644 --- a/ajax/getBrick.php +++ b/ajax/getBrick.php @@ -18,9 +18,9 @@ function ($brickId) { $Brick = $BrickManager->getBrickById($brickId); return array( - 'attributes' => $Brick->getAttributes(), - 'settings' => $Brick->getSettings(), - 'customfields' => $Brick->getCustomFields(), + 'attributes' => $Brick->getAttributes(), + 'settings' => $Brick->getSettings(), + 'customfields' => $Brick->getCustomFields(), 'availableSettings' => $BrickManager->getAvailableBrickSettingsByBrickType( $Brick->getAttribute('type') ) diff --git a/bin/BrickEdit.js b/bin/BrickEdit.js index aea46ba..7b80090 100644 --- a/bin/BrickEdit.js +++ b/bin/BrickEdit.js @@ -174,6 +174,16 @@ define('package/quiqqer/bricks/bin/BrickEdit', [ }) }); + // brick xml settings + var type = brick.attributes.type; + var data = bricks.filter(function (entry) { + return entry.control === type; + }); + + if (data.length && data[0].hasContent === 0) { + this.getCategory('content').hide(); + } + this.refresh(); this.fireEvent('loaded', [this]); diff --git a/bricks.xml b/bricks.xml index 0678fc4..4da1eea 100644 --- a/bricks.xml +++ b/bricks.xml @@ -2,7 +2,7 @@ <quiqqer> <bricks> <!-- available standard bricks --> - <brick control="\QUI\Controls\Breadcrumb"> + <brick control="\QUI\Controls\Breadcrumb" hasContent="0"> <title> <locale group="quiqqer/bricks" var="brick.control.breadcrumb.title"/> </title> diff --git a/src/QUI/Bricks/Brick.php b/src/QUI/Bricks/Brick.php index 6c8b0b6..6f207eb 100644 --- a/src/QUI/Bricks/Brick.php +++ b/src/QUI/Bricks/Brick.php @@ -79,7 +79,8 @@ public function __construct($params = array()) 'height' => '', 'width' => '', 'classes' => '', - 'frontendTitle' => '' + 'frontendTitle' => '', + 'hasContent' => 1 ); $this->setAttributes($default); diff --git a/src/QUI/Bricks/Utils.php b/src/QUI/Bricks/Utils.php index a026be5..e8e44ea 100644 --- a/src/QUI/Bricks/Utils.php +++ b/src/QUI/Bricks/Utils.php @@ -121,8 +121,16 @@ public static function getTypeTemplateAreasFromXML($file, $siteType) */ public static function parseAreaToArray(\DOMElement $Brick, \DOMXPath $Path) { - $control = $Brick->getAttribute('control'); - $name = $Brick->getAttribute('name'); + $control = $Brick->getAttribute('control'); + $name = $Brick->getAttribute('name'); + + $hasContent = 1; + + if ($Brick->hasAttribute('hasContent') + && (int)$Brick->getAttribute('hasContent') === 0) { + $hasContent = 0; + } + $title = array(); $description = array(); @@ -145,6 +153,7 @@ public static function parseAreaToArray(\DOMElement $Brick, \DOMXPath $Path) return array( 'control' => $control, + 'hasContent' => $hasContent, 'name' => $name, 'title' => $title, 'description' => $description, -- GitLab