- values in structure array('block'=>array(fieldinfo)); */ public function getStructure() { if(!empty($this->structuredValues)) { return $this->structuredValues; } $values = array(); $recordModel = $this->getRecord(); $recordExists = !empty($recordModel); $moduleModel = $this->getModule(); $blockModelList = $moduleModel->getBlocks(); foreach($blockModelList as $blockLabel=>$blockModel) { $fieldModelList = $blockModel->getFields(); if (!empty ($fieldModelList)) { $values[$blockLabel] = array(); foreach($fieldModelList as $fieldName=>$fieldModel) { if($fieldModel->isEditable() && $fieldModel->isMassEditable()) { if($fieldModel->isViewable() && $this->isFieldRestricted($fieldModel)) { if($recordExists) { $fieldModel->set('fieldvalue', $recordModel->get($fieldName)); } $values[$blockLabel][$fieldName] = $fieldModel; } } } } } $this->structuredValues = $values; return $values; } /* * Function that return Field Restricted are not * @params Field Model * @returns boolean true or false */ public function isFieldRestricted($fieldModel){ if($fieldModel->getFieldDataType() == 'image'){ return false; } else { return true; } } }