2

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

我试过了:

$Event.Trainer.Title

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

4

3 回答 3

3

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

你需要的是这样的:

<% control Event %>
    $Trainer.Title
<% end_control %>
于 2012-03-08T21:00:22.337 回答
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 不一样。

祝你好运。

于 2012-03-14T14:41:48.093 回答
0

您的问题似乎在“Trainer”和“Trener”之间切换不一致,我猜其中一个是错字?

如果模板是你希望显示标题的页面,你只需要$Title在你的模板中使用它,它就会输出渲染页面的标题。

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

于 2012-03-09T17:02:29.417 回答