本文整理汇总了PHP中Pimcore\Model\Object\Concrete::preGetValue方法的典型用法代码示例。如果您正苦于以下问题:PHP Concrete::preGetValue方法的具体用法?PHP Concrete::preGetValue怎么用?PHP Concrete::preGetValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pimcore\Model\Object\Concrete
的用法示例。
在下文中一共展示了Concrete::preGetValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: preGetValue
/**
* enables inheritance for field collections, if xxxInheritance field is available and set to string 'true'
*
* @param string $key
* @return mixed|\Pimcore\Model\Object\Fieldcollection
*/
public function preGetValue($key)
{
if ($this->getClass()->getAllowInherit() && \Pimcore\Model\Object\AbstractObject::doGetInheritedValues() && $this->getClass()->getFieldDefinition($key) instanceof \Pimcore\Model\Object\ClassDefinition\Data\Fieldcollections) {
$checkInheritanceKey = $key . "Inheritance";
if ($this->{'get' . $checkInheritanceKey}() == "true") {
$parentValue = $this->getValueFromParent($key);
$data = $this->{$key};
if (!$data) {
$data = $this->getClass()->getFieldDefinition($key)->preGetData($this);
}
if (!$data) {
return $parentValue;
} else {
if (!empty($parentValue)) {
$value = new \Pimcore\Model\Object\Fieldcollection($parentValue->getItems());
if (!empty($data)) {
foreach ($data as $entry) {
$value->add($entry);
}
}
} else {
$value = new \Pimcore\Model\Object\Fieldcollection($data->getItems());
}
return $value;
}
}
}
return parent::preGetValue($key);
}