【发布时间】:2012-10-16 20:57:27
【问题描述】:
我在 Page.php 中设置了一个名为 Color 的字段,对于任何孩子,我想获取父颜色或循环直到找到确实设置了颜色字段的父对象。
我有一个下面的函数,它似乎在 2.4 中工作,但我无法在 SS3 中工作,我在模板中的循环中将其调用为 $Inherited(Colour)。
感谢您的帮助
public function Inherited($objName) {
$page = $this->owner->Data();
do {
if ($obj = $page->obj($objName)) {
if ($obj instanceof ComponentSet) {
if ($obj->Count()) {
return $obj;
}
} elseif ($obj instanceof DataObject) {
if ($obj->exists()) {
return $obj;
}
} elseif ($obj->exists()) {
return $obj;
}
}
} while ($page->ParentID != 0 && $page = $page->Parent());
}
【问题讨论】:
标签: silverstripe