如何用silverstripe实现一页网站


How to implement one page site with silverstripe?

大家好,今天,我尝试用SilverStripe创建一个单页网站。我创建了一个主页,我把所有的页面都放在那里,这样我就有了

HomePage
    Page1
    Page2
    Page3

在我的主页布局中,我循环显示其他页面的内容,如

<% loop Children %> 
    <div class="$URLSegment"> 
        $renderWith($ClassName) 
    </div> 
<% end_loop %>

我想在我的第一个页面中有一些文本项,所以我创建了它们,并在我的Page1.php中创建了合适的函数,比如这个

public function getTextItems(){
    return $this->TextItems();
} 

我以为通过调用布局中的函数,文本项就会出现。这实际上是我的问题,如果我试图从我的子页面中调用一些对象,我的布局中不会出现任何内容。有人知道我是否有办法跑完全程吗?或者也许这不是写一页纸的最佳方式。。。因此,如果你有一些提示,comon:)

谢谢!Thomas

通常,对于简单的单页网站,我会将所有内容都放入主页,而不会循环到其子级。无论如何,我认为您的问题是getTextItems()被定义到Controller中,而在Children()上循环将只提取Models。

此外,看看这个全新的模块,我几天前刚刚看到它(但从未测试过):

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