diff --git a/neo/elementtypes/Neo_BlockElementType.php b/neo/elementtypes/Neo_BlockElementType.php index 333fc863..69371042 100644 --- a/neo/elementtypes/Neo_BlockElementType.php +++ b/neo/elementtypes/Neo_BlockElementType.php @@ -68,6 +68,11 @@ public function modifyElementsQuery(DbCommand $query, ElementCriteriaModel $crit $query->join('neoblocktypes neoblocktypes', 'neoblocktypes.id = neoblocks.typeId'); $query->andWhere(DbHelper::parseParam('neoblocktypes.handle', $criteria->type, $query->params)); } + + if($criteria->level && $criteria->level !== 'neoblocks.level') + { + $query->andWhere(DbHelper::parseParam('neoblocks.level', $criteria->level, $query->params)); + } } public function populateElementModel($row) diff --git a/neo/fieldtypes/NeoFieldType.php b/neo/fieldtypes/NeoFieldType.php index 1cca5ddf..8974e24f 100644 --- a/neo/fieldtypes/NeoFieldType.php +++ b/neo/fieldtypes/NeoFieldType.php @@ -330,7 +330,7 @@ public function getInputHtml($name, $value) 'sortOrder' => $block->sortOrder, 'collapsed' => (bool) $block->collapsed, 'enabled' => (bool) $block->enabled, - 'level' => $block->level, + 'level' => intval($block->level) - 1, 'tabs' => $this->_getBlockHtml($block, $name), ]; } @@ -442,7 +442,7 @@ public function prepValueFromPost($data) $block->setOwner($this->element); $block->enabled = (isset($blockData['enabled']) ? (bool) $blockData['enabled'] : true); $block->collapsed = (isset($blockData['collapsed']) ? (bool) $blockData['collapsed'] : false); - $block->level = (isset($blockData['level']) ? intval($blockData['level']) : 0); + $block->level = (isset($blockData['level']) ? intval($blockData['level']) + 1 : 1); $ownerContentPostLocation = $this->element->getContentPostLocation(); diff --git a/neo/migrations/m160428_202308_Neo_UpdateBlockLevels.php b/neo/migrations/m160428_202308_Neo_UpdateBlockLevels.php new file mode 100644 index 00000000..df62d74b --- /dev/null +++ b/neo/migrations/m160428_202308_Neo_UpdateBlockLevels.php @@ -0,0 +1,13 @@ +getTableName(); + craft()->db->createCommand()->update($tableName, ['level' => new \CDbExpression('level + 1')]); + + return true; + } +}