本文整理汇总了PHP中Pimcore\Model\Document::getProperties方法的典型用法代码示例。如果您正苦于以下问题:PHP Document::getProperties方法的具体用法?PHP Document::getProperties怎么用?PHP Document::getProperties使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pimcore\Model\Document
的用法示例。
在下文中一共展示了Document::getProperties方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addPropertiesToDocument
/**
* @param Model\Document $document
* @throws \Zend_Json_Exception
*/
protected function addPropertiesToDocument(Model\Document $document)
{
// properties
if ($this->getParam("properties")) {
$properties = array();
// assign inherited properties
foreach ($document->getProperties() as $p) {
if ($p->isInherited()) {
$properties[$p->getName()] = $p;
}
}
$propertiesData = \Zend_Json::decode($this->getParam("properties"));
if (is_array($propertiesData)) {
foreach ($propertiesData as $propertyName => $propertyData) {
$value = $propertyData["data"];
try {
$property = new Property();
$property->setType($propertyData["type"]);
$property->setName($propertyName);
$property->setCtype("document");
$property->setDataFromEditmode($value);
$property->setInheritable($propertyData["inheritable"]);
$properties[$propertyName] = $property;
} catch (\Exception $e) {
\Logger::warning("Can't add " . $propertyName . " to document " . $document->getFullPath());
}
}
}
if ($document->isAllowed("properties")) {
$document->setProperties($properties);
}
}
// force loading of properties
$document->getProperties();
}
示例2: getProperties
/**
* @return array|null|Model\Property[]
*/
public function getProperties()
{
if ($this->properties === null) {
$properties = parent::getProperties();
if ($this->getPropertiesFromSource() && $this->getSourceDocument()) {
$sourceProperties = $this->getSourceDocument()->getProperties();
foreach ($sourceProperties as &$prop) {
$prop = clone $prop;
// because of cache
$prop->setInherited(true);
}
$properties = array_merge($sourceProperties, $properties);
} else {
if ($this->getSourceDocument()) {
$sourceProperties = $this->getSourceDocument()->getDao()->getProperties(false, true);
foreach ($sourceProperties as &$prop) {
$prop = clone $prop;
// because of cache
$prop->setInherited(true);
}
$properties = array_merge($sourceProperties, $properties);
}
}
$this->setProperties($properties);
}
return $this->properties;
}