我使用SilverStripe作爲CMS,現在我被卡住了,不知道如何從「頁面」對象訪問「標題」屬性。如何從「頁面」對象獲取「標題」屬性
我想:
$ Event.Trainer.Title
但它不工作。 「Trener」是「TrenerPage」對象。我如何訪問Trener-> Title屬性?
我使用SilverStripe作爲CMS,現在我被卡住了,不知道如何從「頁面」對象訪問「標題」屬性。如何從「頁面」對象獲取「標題」屬性
我想:
$ Event.Trainer.Title
但它不工作。 「Trener」是「TrenerPage」對象。我如何訪問Trener-> Title屬性?
您不能遍歷SilverStripe模板中的三個級別(至少在版本2.x中)。兩個是最大值。
你需要的是這樣的:
<% control Event %>
$Trainer.Title
<% end_control %>
你的問題似乎「培訓師」和「Trener」之間切換不一致,我猜其中之一是一個錯字?
如果該模板是用於希望顯示標題的頁面,則需要在模板中使用$Title
,它將輸出呈現頁面的標題。
如果該模板不是您希望顯示標題的頁面,那麼就像xeraa所說的那樣,您應該使用一個控制塊。
標題直接在Page對象中。 只需使用$ Title即可。爲了幫助您處理Page對象中的所有可用方法,請轉到: http://doc.silverstripe.org/sapphire/en/reference/built-in-page-controls
由於問題並不十分清楚,因此我會針對另一個答案進行處理。 如果您從Page對象派生Trainer_Page,它仍然直接繼承$ Title屬性。除非您在Trainer_Page對象中自己覆蓋$ Title屬性,否則PHP會將其默認返回到父類。在這種情況下,只需使用$ Title。
由於$ title和$ Title不一樣,請注意這種情況。
祝你好運。