/** * creates a field collection "collectionA" containing all available data types * @return void */ public function testFieldCollectionCreate() { $fieldCollection = new Object_Fieldcollection_Definition(); $fieldCollection->setKey("collectionA"); $conf = new Zend_Config_Xml(TESTS_PATH . "/resources/objects/field-collection-import.xml"); $importData = $conf->toArray(); $layout = Object_Class_Service::generateLayoutTreeFromArray($importData["layoutDefinitions"]); $fieldCollection->setLayoutDefinitions($layout); $fieldCollection->save(); }
public function fieldcollectionUpdateAction() { $fc = new Object_Fieldcollection_Definition(); $fc->setKey($this->_getParam("key")); if ($this->_getParam("values")) { $values = Zend_Json::decode($this->_getParam("values")); $fc->setParentClass($values["parentClass"]); } if ($this->_getParam("configuration")) { $configuration = Zend_Json::decode($this->_getParam("configuration")); $configuration["datatype"] = "layout"; $configuration["fieldtype"] = "panel"; $layout = Object_Class_Service::generateLayoutTreeFromArray($configuration); $fc->setLayoutDefinitions($layout); } $fc->save(); $this->_helper->json(array("success" => true, "id" => $fc->getKey())); }
} $files = glob(PIMCORE_DOCUMENT_ROOT . '/data/fieldcollections/*'); // get all file names // tworzenie kolekcji na podstawie plików foreach ($files as $file) { // iterate files if (is_file($file)) { $string = file_get_contents($file); $classname = basename($file, ".json"); unset($classes_array[$classname]); try { $class = Object_Fieldcollection_Definition::getByKey($classname); Object_Class_Service::importFieldCollectionFromJson($class, $string); } catch (Exception $e) { $newClass = new Object_Fieldcollection_Definition(); $newClass->setKey($classname); Object_Class_Service::importFieldCollectionFromJson($newClass, $string); } } } // usuwanie kolekcji /** @var Object_Fieldcollection_Definition $class */ foreach ($classes_array as $classname => $tmp) { $class = Object_Fieldcollection_Definition::getByKey($classname); $class->delete(); echo "Delete collection: " . $classname . "\n"; } // MIGRACJA KLAS $classesList = new Object_Class_List(); $classesList->setOrderKey("name"); $classesList->setOrder("asc");