Я хотел бы получить общую функцию, работающую для получения данных в шаблоне страницы, и если свойство не установлено, получить его от родительского или родительского родительского элемента и т.д. Под общим я подразумеваю независимость от отношений, таких как db, HasOne, HasMany, ManyMany. Допустим, у меня есть это для ManyMany, но я хотел бы определить, является ли это объектом, HasManyList или ManyManyList или значением. Что-то подобное встроено или как бы вы поступили?
function ManyManyUpUntilHit($ComponentName){
$Component = $this->getManyManyComponents($ComponentName);
if($Component && $Component->exists())
return $Component;
$Parent = $this->Parent();
if(is_object($Parent) && $Parent->ID != 0){
return $Parent->ManyManyUpUntilHit($ComponentName);
} else {
return null;
}
}
в шаблоне:
$ManyManyUpUntilHit(Teaser)