本文整理匯總了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;
}