我想使用has_many
关系在模板上循环我的产品,但有些事情做错了。首先,我使用has_one
创建DataObject Product
并创建用于添加新产品的ModelAdmin。之后,我创建了ProductPage模型和控制器以及ProductPage模板,其中我循环了产品。Silverstripe循环has_many模板内
数据对象:
<?php
class Product extends DataObject
{
private static $db = array(
'Name' => 'Varchar',
'Description' => 'HTMLText',
'Price' => 'Decimal'
);
private static $has_one = array(
'Photo' => 'Image',
'ProductPage' => 'ProductPage'
);
public function getCMSFields()
{
$fields = FieldList::create(TabSet::create('Root'));
$fields->addFieldsToTab('Root.Main', array(
TextField::create('Name'),
HtmlEditorField::create('Opis'),
NumericField::create('Price'),
UploadField::create('Photo')
));
return $fields;
}
}
ProductPage:
class ProductPage extends Page
{
private static $has_many = array(
'Products' => 'Product'
);
}
class ProductPage_Controller extends Page_Controller
{
}
模板:
<% if $Products %>
<% loop $Products %>
<div class="col-md-4">
<h3>$Name</h3>
</div>
<% end_loop %>
<% else %>
No product found
<% end_if %>
上午得到的所有时间No product found
,但我对我们的产品在大tabase。
什么是问题?
我也试过并且不工作,我只是想在末尾添加's'。 – Ivan
如果我与类别有关系并在该循环中显示cat id,那么该怎么办? – Ivan
@结束我建议你为此创建一个新问题 – bummzack