我使用 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 %>
标题直接在 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 不一样。
祝你好运。
您的问题似乎在“Trainer”和“Trener”之间切换不一致,我猜其中一个是错字?
如果模板是你希望显示标题的页面,你只需要$Title
在你的模板中使用它,它就会输出渲染页面的标题。
如果模板不是您希望显示标题的页面,那么就像 xeraa 所说,您应该使用控制块。