我使用SilverStripe作为CMS,我现在卡住了,不知道如何从“Page”对象访问“Title”属性。
我试过了:
$ Event.Trainer.Title
但它不起作用。 “Trener”是“TrenerPage”对象。如何访问Trener->标题属性?
答案 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不一样。
祝你好运。