我将DataObjects 中的代码用作 Pages 2,因此您可以为您在管理员的 Product 选项卡下创建的每个产品选择一个到多个类别。
我的问题是如何显示类别的父页面(称为 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')));
谢谢:)