2012-03-08 57 views
1

我使用SilverStripe作为CMS,现在我被卡住了,不知道如何从“页面”对象访问“标题”属性。如何从“页面”对象获取“标题”属性

我想:

$ Event.Trainer.Title

但它不工作。 “Trener”是“TrenerPage”对象。我如何访问Trener-> Title属性?

回答

3

您不能遍历SilverStripe模板中的三个级别(至少在版本2.x中)。两个是最大值。

你需要的是这样的:

<% control Event %> 
    $Trainer.Title 
<% end_control %> 
0

你的问题似乎“培训师”和“Trener”之间切换不一致,我猜其中之一是一个错字?

如果该模板是用于希望显示标题的页面,则需要在模板中使用$Title,它将输出呈现页面的标题。

如果该模板不是您希望显示标题的页面,那么就像xeraa所说的那样,您应该使用一个控制块。

0

标题直接在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不一样,请注意这种情况。

祝你好运。