我使用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不一样,请注意这种情况。
祝你好运。