Я использую код из DataObjects как страницы 2 , поэтому вы можете выбрать одну или несколько категорий для каждого продукта, который вы создали на вкладке «Продукт» в админке.
Мой вопрос: как я могу показать заголовки родительских страниц (они называются ProductsList.php) для категорий? Пожалуйста, смотрите изображение для деталей
Или вот объяснение: потому что все мои страницы категорий принадлежат одному или нескольким родителям, а некоторые страницы категорий повторяются на сайте, например, Toyota и Honda. Мне бы хотелось, чтобы в заголовках родительской страницы отображались, например, флажки «Продажа и аренда» под флажками «Категория», чтобы администратор знал, какие категории следует выбирать.
Вот некоторый связанный код для поля флажков «Категории»:
//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));
Я пытаюсь понять, как пройти через СС, поэтому любая помощь приветствуется.
Большое спасибо.
Sam
Редактировать / Update:
Мне удалось создать вкладку «Категории», чтобы она отображалась как «Родитель-ребенок», например, 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')));
Спасибо:)