Привет всем, Сегодня я пытаюсь создать сайт с одной страницей с помощью SilverStripe. я создал HomePage, где я положил все мои страницы, так что я быть_настКак реализовать сайт на одной странице с помощью silverstripe?
HomePage
Page1
Page2
Page3
В моем макете HomePage, я петля для отображения моих других страниц контента, как этого
<% loop Children %>
<div class="$URLSegment">
$renderWith($ClassName)
</div>
<% end_loop %>
Я хотел некоторые текстовые элементов в моем первая страница, поэтому я создал их и создали соответствующую функцию в моем page1.php как этот
public function getTextItems(){
return $this->TextItems();
}
... и я подумал бы, текстовые элементы, вызывая функцию в м y layout. Это на самом деле моя проблема, ничего не отображается в моем макете, если я пытаюсь вызвать какой-то объект со своих дочерних страниц. Кто-нибудь знает, есть ли способ, которым я могу сделать это? Или, может быть, это не лучший способ сделать одну страницу ... так что если у вас есть какие-то намеки, comon :)
Спасибо! Thomas
Да, я понял это для моей функции getTextItems. Что вы подразумеваете под «Я все время вкладываю в HomePage, не зацикливая на своих детях»? – tomzi
Для сайтов с большим количеством разных материалов на одной странице я использовал (versioned) dataobjects в прошлом. Поскольку я использовал этот подход для довольно большого количества сайтов сейчас, я превратил его в модуль: https://github.com/bummzack/page-blocks (модуль все еще находится в разработке, но не стесняйтесь проверить его или Contribute) – bummzack
@ bummzack Я только что видел ваш модуль несколько минут назад, это кажется многообещающим. Добавлено в мои закладки :) – g4b0