如何从“页面”对象获取“标题”属性

时间:2012-03-08 11:22:24

标签: silverstripe

我使用SilverStripe作为CMS,我现在卡住了,不知道如何从“Page”对象访问“Title”属性。

我试过了:

$ Event.Trainer.Title

但它不起作用。 “Trener”是“TrenerPage”对象。如何访问Trener->标题属性?

3 个答案:

答案 0 :(得分:3)

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

你需要的是这样的东西:

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

答案 1 :(得分:0)

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

如果模板是针对您希望显示标题的页面,则您需要在模板中使用$Title,它将输出渲染页面的标题。

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

答案 2 :(得分: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不一样。

祝你好运。