我正在開發(fā)一個 SilverStripe 項目。現(xiàn)在我正在嘗試像這樣在控制器中通過 ID 獲取 Page 對象。$currentPage = Page::get()->byID($this->ID);另外,我也想要 $currentPage 的所有父母/父母。但是我無法在頁面的數(shù)據(jù)庫表中找到相關(guān)列,例如 parent_page_id 或其他任何內(nèi)容。如何獲取 Page 數(shù)據(jù)對象的所有父頁面?
1 回答

郎朗坤
TA貢獻1921條經(jīng)驗 獲得超9個贊
從廣義上講,頁面是一個 SiteTree 對象。該ParentID
列存在于SiteTree
數(shù)據(jù)庫表中。您可以像這樣訪問頁面的父級:
$parent = $currentPage->Parent();
您也可以使用SiteTree::getParent()
相同的結(jié)果:
$parent = $currentPage->getParent();
如果您需要遞歸地獲取所有父項,您可以在循環(huán)中執(zhí)行此操作,直到->Parent()
返回 falsy。
此外,作為SiteTree
用途Hierarchy
為家長/孩子的邏輯,你也可以使用getAncestors()
讓所有的父母和祖父母。請參閱API 文檔。
- 1 回答
- 0 關(guān)注
- 196 瀏覽
添加回答
舉報
0/150
提交
取消