大家好, 今天我试图用SilverStripe创建一个单页网站。 我创建了一个HomePage,我把所有页面都放在了
HomePage
Page1
Page2
Page3
在我的HomePage布局中,我循环显示我的其他页面内容,如此
<% loop Children %>
<div class="$URLSegment">
$renderWith($ClassName)
</div>
<% end_loop %>
我想在我的第一页中有一些文字项目,所以我创建了它们并在我的Page1.php中创建了相应的功能
public function getTextItems(){
return $this->TextItems();
}
...我认为通过调用布局中的函数可以显示文本项。 这实际上是我的问题,如果我试图从我的子页面调用一些对象,我的布局中没有任何内容。 有没有人知道我是否有办法让它运行?或者它可能不是做一页的最佳方式......所以,如果你有一些提示,comon:)
谢谢! 托马斯
答案 0 :(得分:2)
通常对于简单的单页网站,我将其置于主页中,而不会覆盖其子页面。无论如何,我认为你的问题是getTextItems()被定义到Controller中,而在Children()上循环只会提取模型。
此外看看这个非常新的模块,我几天前就看到了它(但从未测试过它):
http://addons.silverstripe.org/add-ons/wernerkrauss/silverstripe-onepage