- values in structure array('block'=>array(fieldinfo)); */ public function setFields($showFields, $showManFields, $hideManFields) { $this->showFields = $showFields; $this->showManFields = $showManFields; $this->hideManFields = $hideManFields; } public function getStructure($moduleModel) { if (!empty($this->structuredValues)) { return $this->structuredValues; } $values = array(); $blockModelList = $moduleModel->getBlocks(); foreach ($blockModelList as $blockLabel => $blockModel) { $fieldModelList = $this->getShowFields($blockModel); foreach ($fieldModelList as $fieldName => $fieldModel) { $values[$blockLabel][$fieldName] = $fieldModel; } } $this->structuredValues = $values; return $values; } public function getShowFields($blockModel) { $fieldList = $blockModel->getFields(); $quickCreateFieldList = array(); foreach ($fieldList as $fieldName => $fieldModel) { $field_data_type = $fieldModel->getFieldDataType(); if (in_array($fieldName, $this->showFields) && !in_array($field_data_type, $this->skipFieldDataType)) { $showFieldList[$fieldName] = $fieldModel; } } return $showFieldList; } }