function createPrice($currencyCode, $value, $type) { if (is_object($this->ContentObjectAttribute) && $this->currencyByCode($currencyCode)) { return eZMultiPriceData::create($this->ContentObjectAttribute->attribute('id'), $this->ContentObjectAttribute->attribute('version'), $currencyCode, $value, $type); } return false; }
// update objects $offset = 0; $limit = 1000; $cli->output('Converting', false); while ($offset < $objectListCount) { $objectList = eZContentObject::fetchSameClassList($class->attribute('id'), true, $offset, $limit); $offset += count($objectList); foreach ($objectList as $object) { $contentObjectID = $object->attribute('id'); $objectVersions =& $object->versions(); foreach ($objectVersions as $objectVersion) { $version = $objectVersion->attribute('version'); $objectAttributeList = eZContentObjectAttribute::fetchSameClassAttributeIDList($priceClassAttributeID, true, $version, $contentObjectID); foreach ($objectAttributeList as $objectAttribute) { $priceValue = $objectAttribute->attribute('data_float'); $multiprice = eZMultiPriceData::create($objectAttribute->attribute('id'), $version, $defaultCurrencyCode, $priceValue, eZMultiPriceData::VALUE_TYPE_CUSTOM); $multiprice->store(); $objectAttribute->setAttribute('data_type_string', 'ezmultiprice'); $objectAttribute->setAttribute('data_float', 0); $objectAttribute->setAttribute('sort_key_int', 0); $objectAttribute->store(); } } $cli->output('.', false); ++$convertedObjectsCount; } } $cli->output(' '); } } // create/update autoprices.