Как получить атрибут «Заголовок» из объекта «Страница» - PullRequest
1 голос
/ 08 марта 2012

Я использую SilverStripe в качестве CMS, и я застрял сейчас и не знаю, как получить доступ к атрибуту «Заголовок» из объекта «Страница».

Я пытался:

$ Event.Trainer.Title

Но это не работает. «Trener» - это объект «TrenerPage». Как я могу получить доступ к атрибуту Trener-> Title?

Ответы [ 3 ]

3 голосов
/ 09 марта 2012

Вы не можете пройти три уровня в шаблонах SilverStripe (по крайней мере, в версии 2.x).Два - максимум.

Вам нужно что-то вроде этого:

<% control Event %>
    $Trainer.Title
<% end_control %>
0 голосов
/ 14 марта 2012

Заголовок находится непосредственно внутри объекта Page.Использование $ Title должно помочь.Чтобы помочь вам со всеми методами, доступными в объекте Page, перейдите по ссылке: http://doc.silverstripe.org/sapphire/en/reference/built-in-page-controls

Поскольку вопрос не очень понятен, я попробую еще один ответ.Если вы извлекли Trainer_Page из объекта Page, он все равно наследовал атрибут $ Title напрямую.Если вы не переопределите атрибут $ Title самостоятельно в объекте Trainer_Page, PHP по умолчанию вернет его в родительский класс.В этом случае просто используйте $ Title.

Остерегайтесь регистра, поскольку $ title и $ Title не совпадают.

Удачи.

0 голосов
/ 09 марта 2012

Ваш вопрос, кажется, непоследовательно переключается между "Trainer" и "Trener", я предполагаю, что один из них является опечаткой?

Если шаблон предназначен для страницы, для которой вы хотите отобразить заголовок,все, что вам нужно использовать, это $Title в вашем шаблоне, и он выведет заголовок страницы рендеринга.

Если шаблон НЕ для страницы, для которой вы хотите отобразить заголовок, то, как сказал xeraa,Вы должны использовать блок управления.

...