【发布时间】:2012-01-30 23:09:45
【问题描述】:
我正在使用来自DataObjects as Pages 2 的代码,因此您可以为您在管理员的“产品”选项卡下创建的每个产品选择一个到多个类别。
我的问题是如何显示类别的父页面(称为 ProductsList.php)标题?详情请看图
或者这里是解释:因为我所有的类别页面都在一个或多个父级之下,并且某些类别页面在网站上重复,例如丰田和本田。我希望在“类别”复选框下显示父页面的标题,例如“销售”和“出租”,以便管理员知道要选择哪些重复的类别。
以下是类别复选框字段的一些相关代码:
//Relate to the category pages
static $belongs_many_many = array(
'Categories' => 'CategoryPage'
);
//Categories
$Categories = DataObject::get('CategoryPage');
$fields->addFieldToTab("Root.Categories", new CheckboxsetField('Categories', 'Categories', $Categories));
我正在尝试通过 SS 解决问题,因此感谢您提供任何帮助。
非常感谢。
山姆
编辑/更新:
我设法使用以下代码将类别选项卡显示为父子,例如 Sale-Toyota、Sale-Honda、Rental-BMW、Rental-Toyota。但是,它们都无序/随机显示。有关如何正确分组它们的任何建议,例如所有销售都在一起,所有租赁都在一起?
代码:将以下代码添加到 CategoryPage.php
function CheckboxSummary(){
return $this->Parent()->Title . ' - ' . $this->Title;
}
并将 $Categories->map('ID', 'CheckboxSummary') 添加到 Product.php 中的复选框集的选项中
$Categories = DataObject::get('CategoryPage');
$fields->addFieldToTab("Root.Categories", new CheckboxsetField('Categories', 'Categories', $Categories->map('ID', 'CheckboxSummary')));
谢谢:)
【问题讨论】:
标签: php content-management-system silverstripe