2014-09-14 3 views
1

Привет всем, Сегодня я пытаюсь создать сайт с одной страницей с помощью 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

ответ

1

Обычно для простых одностраничных сайтов я помещаю все в HomePage, не зацикливая на своих детях. Во всяком случае, я думаю, что ваша проблема в том, что getTextItems() определен в контроллере, в то время как цикл над Children() будет извлекать только модели.

Кроме того, посмотрите на этот совершенно новый модуль, я просто вижу его несколько дней назад (но никогда не проверял):

http://addons.silverstripe.org/add-ons/wernerkrauss/silverstripe-onepage

+0

Да, я понял это для моей функции getTextItems. Что вы подразумеваете под «Я все время вкладываю в HomePage, не зацикливая на своих детях»? – tomzi

+1

Для сайтов с большим количеством разных материалов на одной странице я использовал (versioned) dataobjects в прошлом. Поскольку я использовал этот подход для довольно большого количества сайтов сейчас, я превратил его в модуль: https://github.com/bummzack/page-blocks (модуль все еще находится в разработке, но не стесняйтесь проверить его или Contribute) – bummzack

+0

@ bummzack Я только что видел ваш модуль несколько минут назад, это кажется многообещающим. Добавлено в мои закладки :) – g4b0

Смежные вопросы