本文整理汇总了PHP中ListboxField::__construct方法的典型用法代码示例。如果您正苦于以下问题:PHP ListboxField::__construct方法的具体用法?PHP ListboxField::__construct怎么用?PHP ListboxField::__construct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ListboxField
的用法示例。
在下文中一共展示了ListboxField::__construct方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* @param string $name
* @param string $title
* @param DataObjectInterface $object
* @param string $sort
* @param SS_List $source
* @param string $titleField
*/
public function __construct($name, $title, DataObjectInterface $object, $sort = false, SS_List $source = null, $titleField = 'Title')
{
$this->setSort($sort);
if ($object->many_many($name)) {
$dataSource = $object->{$name}();
// Check if we're dealing with an UnsavedRelationList
$unsaved = $dataSource instanceof UnsavedRelationList;
// Store the relation's class name
$class = $dataSource->dataClass();
$this->dataClass = $class;
// Sort the items
if ($this->getSort()) {
$dataSource = $dataSource->sort($this->getSort());
}
// If we're dealing with an UnsavedRelationList, it'll be empty, so we
// can skip this and just use an array of all available items
if ($unsaved) {
$dataSource = $class::get()->map()->toArray();
} else {
// If we've been given a list source, filter on those IDs only.
if ($source) {
$dataSource = $dataSource->filter('ID', $source->column('ID'));
}
// Start building the data source from scratch. Currently selected items first,
// in the correct sort order
$dataSource = $dataSource->map('ID', $titleField)->toArray();
// Get the other items
$theRest = $class::get();
// Exclude items that we've already found
if (!empty($dataSource)) {
$theRest = $theRest->exclude('ID', array_keys($dataSource));
}
// If we've been given a list source, filter on those IDs only
if ($source) {
$theRest = $theRest->filter('ID', $source->column('ID'));
}
$theRest = $theRest->map('ID', $titleField)->toArray();
// ... we then add the remaining items in whatever order they come
$dataSource = $dataSource + $theRest;
}
} elseif ($source instanceof SS_List) {
$dataSource = $source->map('ID', $titleField)->toArray();
} elseif (is_array($source) && ArrayLib::is_associative($source)) {
$dataSource = $source;
} else {
user_error('MultiSelectField::__construct(): MultiSelectField only supports many-to-many relations');
}
parent::__construct($name, $title, $dataSource, '', null, true);
}
开发者ID:helpfulrobot,项目名称:fullscreeninteractive-silverstripe-multiselectfield,代码行数:57,代码来源:MultiSelectField.php
示例2: __construct
/**
* Creates a new dropdown field.
*
* @param string $name The field name
* @param string $title The field title
* @param array $source An map of the dropdown items
* @param string|array $value You can pass an array of values or a single value like a drop down to be selected
* @param int $size Optional size of the select element
* @param form The parent form
*/
public function __construct($name, $title = '', $source = array(), $value = '', $size = null)
{
parent::__construct($name, $title, $source, $value, $size, true);
}
示例3: __construct
public function __construct($name, $title = null, $source = array(), $value = '', $form = null, $emptyString = null)
{
parent::__construct($name, $title, $source, $value, $form, $emptyString);
}
示例4: __construct
public function __construct($name, $title = null, $source = array(), $value = '', $form = null, $emptyString = null)
{
parent::__construct($name, $title, $source, $value, $form, $emptyString);
$this->no_results_text = _t('ChosenField.NO_RESULTS', 'Oops, nothing found!');
}