我在 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());
}