webfox/silverstripe-dependentdropdownfield

此包已废弃,不再维护。未建议替代包。
关于此包的最新版本(dev-master)没有可用的许可证信息。

一个基于AJAX,根据其依赖字段的值填充选项的silverstripe下拉列表或列表框字段

dev-master 2015-01-15 02:52 UTC

This package is auto-updated.

Last update: 2022-10-14 02:51:52 UTC


README

一个基于AJAX,根据其依赖字段的值填充选项的silverstripe下拉列表或列表框字段

基于sheadawson的模块

需求

SilverStripe 3

使用示例

DropdownField

$postsSource  = function ($val) {
	/** @var Category $category */
	$category = Category::get_by_id('Category', $val);
	return $category->Posts()->map()->toArray();
};

$currentPost = $this->PostID;

/** @var DependentDropdownField $postField */
$postField = DependentDropdownField::create('AssignedPost', 'Select Featured Post', $postsSource);
$postField->setMultiple(true);
$postField->setDefaultItems($currentPost);
$postField->setDepends($fields->fieldByName('Root.Main.CategoryID'));

$fields->addFieldToTab('Root.Main', $postsField);

ListboxField


$postsSource  = function ($val) {
	/** @var Category $category */
	$category = Category::get_by_id('Category', $val);
	return $category->Posts()->map()->toArray();
};

$currentPosts = $this->Posts()->column('ID');

/** @var DependentListboxField $postsField */
$postsField = DependentListboxField::create('AssignedPosts', 'Select Posts', $postsSource);
$postsField->setMultiple(true);
$postsField->setDefaultItems($currentPosts);
$postsField->setDepends($fields->fieldByName('Root.Main.CategoryID'));

$fields->addFieldToTab('Root.Main', $postsField);