public function installProperties() { $defProperty = Property\Predefined::getByKey('assigned_language'); if (!$defProperty instanceof Property\Predefined) { $languages = \Pimcore\Tool::getValidLanguages(); $data = 'all,'; foreach ($languages as $language) { $data .= $language . ','; } $data = rtrim($data, ','); $property = new Property\Predefined(); $property->setType('select'); $property->setName('Assigned Language'); $property->setKey('assigned_language'); $property->setDescription('set a specific language which lucene search should respect while crawling.'); $property->setCtype('asset'); $property->setData('all'); $property->setConfig($data); $property->setInheritable(FALSE); $property->save(); } }
/** * @static * @param $props * @return array */ public static function minimizePropertiesForEditmode($props) { $properties = array(); foreach ($props as $key => $p) { //$p = object2array($p); $allowedProperties = array("key", "o_key", "filename", "path", "o_path", "id", "o_id", "o_type", "type"); if ($p->getData() instanceof Document || $p->getData() instanceof Asset || $p->getData() instanceof Object\AbstractObject) { $pa = array(); $vars = get_object_vars($p->getData()); foreach ($vars as $k => $value) { if (in_array($k, $allowedProperties)) { $pa[$k] = $p->getData()->{$k}; } } // clone it because of caching $tmp = clone $p; $tmp->setData($pa); $properties[$key] = object2array($tmp); } else { $properties[$key] = object2array($p); } // add config from predefined properties if ($p->getName() && $p->getType()) { $predefined = Model\Property\Predefined::getByKey($p->getName()); if ($predefined && $predefined->getType() == $p->getType()) { $properties[$key]["config"] = $predefined->getConfig(); } } } return $properties; }