如何获取子页面并循环遍历另一种页面类型的数据?
How to get child pages and loop through it's data on another page type?
我有一个 TestimonalHolder
页面类型,其子页面类型为 Testimonials
,每个子页面都有一个 Message
$db 字段来存储推荐。
问题是如何访问我的 HomePage.ss
上的 $Message
字段,以便我可以遍历它们并将它们放入滑块等
Testimonials.php
class Testimonials extends Page {
private static $db = array(
'Message' => 'Text'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldsToTab('Root.Testimonials', array(
TextareaField::create('Message')
));
return $fields;
}
}
class Testimonials_Controller extends Page_Controller {
}
我知道我可以在我的 TestimonialHolder.ss
页面上使用这段代码循环浏览它们:
<% loop $Children %>
<h2>$Title</h2>
$Message
<% end_loop %>
在你的HomePage.php
public function getTestimonials($limit = 5) {
return Testimonials::get()->limit($limit);
}
然后在您的模板中,像使用 $Children
一样使用 $Testimonials
。
在您的模板中:
<% loop $Testimonials('BlogPost').Limit(5) %>
$Title
<% end_loop %>
使用这个 $List
帮助程序,您可以直接在模板中访问简单的数据列表(即使使用 Filter()
、Sort()
和 Limit()
),尽管这违反了纯 MVC有点。
小心轻放!
另请参阅:http://www.silverstrip.es/blog/retrieving-some-dataobjects-in-template-without-php-getter/(免责声明:我的博客)
我有一个 TestimonalHolder
页面类型,其子页面类型为 Testimonials
,每个子页面都有一个 Message
$db 字段来存储推荐。
问题是如何访问我的 HomePage.ss
上的 $Message
字段,以便我可以遍历它们并将它们放入滑块等
Testimonials.php
class Testimonials extends Page {
private static $db = array(
'Message' => 'Text'
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldsToTab('Root.Testimonials', array(
TextareaField::create('Message')
));
return $fields;
}
}
class Testimonials_Controller extends Page_Controller {
}
我知道我可以在我的 TestimonialHolder.ss
页面上使用这段代码循环浏览它们:
<% loop $Children %>
<h2>$Title</h2>
$Message
<% end_loop %>
在你的HomePage.php
public function getTestimonials($limit = 5) {
return Testimonials::get()->limit($limit);
}
然后在您的模板中,像使用 $Children
一样使用 $Testimonials
。
在您的模板中:
<% loop $Testimonials('BlogPost').Limit(5) %>
$Title
<% end_loop %>
使用这个 $List
帮助程序,您可以直接在模板中访问简单的数据列表(即使使用 Filter()
、Sort()
和 Limit()
),尽管这违反了纯 MVC有点。
小心轻放!
另请参阅:http://www.silverstrip.es/blog/retrieving-some-dataobjects-in-template-without-php-getter/(免责声明:我的博客)