Зададох поле, наречено Цвят, в Page.php и за всяко дете бих искал да взема родителския цвят или да превъртя, докато намери родител, който има зададено цветово поле.
Имам функция по-долу, която изглежда работи във 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());
}