本文整理汇总了PHP中GridField::setConfig方法的典型用法代码示例。如果您正苦于以下问题:PHP GridField::setConfig方法的具体用法?PHP GridField::setConfig怎么用?PHP GridField::setConfig使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GridField
的用法示例。
在下文中一共展示了GridField::setConfig方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setConfig
/**
* Sets the gridfield config ensuring that the save handler is in place
* @param {GridFieldConfig} $config
* @return {GridField}
*/
public function setConfig(GridFieldConfig $config)
{
parent::setConfig($config);
//Force the StatefulGridFieldListSaveHandler into the config
$config->addComponent(new StatefulGridFieldListSaveHandler());
return $this;
}
开发者ID:helpfulrobot,项目名称:webbuilders-group-silverstripe-statefulunsavedlist,代码行数:12,代码来源:StatefulGridField.php
示例2: getCMSFields
/**
* @return FieldList
*/
public function getCMSFields()
{
$fields = parent::getCMSFields();
$fields->removeByName('Values');
$values = new GridField("Values", "SubmittedFormField", $this->Values()->sort('Created', 'ASC'));
$config = new GridFieldConfig();
$config->addComponent(new GridFieldDataColumns());
$config->addComponent(new GridFieldExportButton());
$config->addComponent(new GridFieldPrintButton());
$values->setConfig($config);
$fields->addFieldToTab('Root.Main', $values);
return $fields;
}
示例3: getCMSFields
/**
* @return FieldList
*/
public function getCMSFields()
{
$self = $this;
$this->beforeUpdateCMSFields(function ($fields) use($self) {
$fields->removeByName('Values');
$fields->dataFieldByName('SubmittedByID')->setDisabled(true);
$values = new GridField('Values', 'SubmittedFormField', $self->Values()->sort('Created', 'ASC'));
$config = new GridFieldConfig();
$config->addComponent(new GridFieldDataColumns());
$config->addComponent(new GridFieldExportButton());
$config->addComponent(new GridFieldPrintButton());
$values->setConfig($config);
$fields->addFieldToTab('Root.Main', $values);
});
$fields = parent::getCMSFields();
return $fields;
}
示例4: make
public static function make($name, $label = '', $source, $sortable = true, $gridHeaderType = 'GridFieldConfig_RecordEditor')
{
/*
GridFieldConfig_Base
GridFieldConfig_RecordViewer
GridFieldConfig_RecordEditor
GridFieldConfig_RelationEditor
*/
if ($label == '') {
$label = $name;
}
$grid = new \GridField($name, $label, $source);
$config = $gridHeaderType::create();
$config->removeComponentsByType('GridFieldPaginator')->addComponents(new \GridFieldPaginatorWithShowAll(30));
if ($sortable) {
$config->addComponents($sortable = new \GridFieldOrderableRows('SortOrder'));
}
$grid->setConfig($config);
return $grid;
}
示例5: gridBuilder
private function gridBuilder($name, $source, $label = '', $canAdd = false, $gridHeaderType = 'GridFieldConfig_RecordEditor')
{
/*
GridFieldConfig_Base
GridFieldConfig_RecordViewer
GridFieldConfig_RecordEditor
GridFieldConfig_RelationEditor
*/
if ($label == '') {
$label = $name;
}
$grid = new GridField($name, $label, $source);
$config = $gridHeaderType::create();
$config->removeComponentsByType('GridFieldAddNewButton');
if ($canAdd) {
$config->removeComponentsByType('GridFieldPaginator')->removeComponentsByType('GridFieldDetailForm')->addComponents(new VersionedForm(), new GridFieldPaginatorWithShowAll(30), $multiClass = new MultiClassSelector(), $sortable = new OrderableBlocks('SortOrder'));
$subBlocks = BlocksAdmin::getAvaiableTypes();
$multiClass->setClasses($subBlocks);
}
$grid->setConfig($config);
return $grid;
}
示例6: getCMSFields
/**
* @return FieldList
*/
public function getCMSFields()
{
$self = $this;
$this->beforeUpdateCMSFields(function ($fields) use($self) {
// define tabs
$fields->findOrMakeTab('Root.FormContent', _t('UserDefinedForm.FORM', 'Form'));
$fields->findOrMakeTab('Root.FormOptions', _t('UserDefinedForm.CONFIGURATION', 'Configuration'));
$fields->findOrMakeTab('Root.Recipients', _t('UserDefinedForm.RECIPIENTS', 'Recipients'));
$fields->findOrMakeTab('Root.Submissions', _t('UserDefinedForm.SUBMISSIONS', 'Submissions'));
// field editor
$fields->addFieldToTab('Root.FormContent', new FieldEditor('Fields', 'Fields', '', $self));
// text to show on complete
$onCompleteFieldSet = new CompositeField($label = new LabelField('OnCompleteMessageLabel', _t('UserDefinedForm.ONCOMPLETELABEL', 'Show on completion')), $editor = new HtmlEditorField('OnCompleteMessage', '', _t('UserDefinedForm.ONCOMPLETEMESSAGE', $self->OnCompleteMessage)));
$onCompleteFieldSet->addExtraClass('field');
$editor->setRows(3);
$label->addExtraClass('left');
// Define config for email recipients
$emailRecipientsConfig = GridFieldConfig_RecordEditor::create(10);
$emailRecipientsConfig->getComponentByType('GridFieldAddNewButton')->setButtonName(_t('UserDefinedForm.ADDEMAILRECIPIENT', 'Add Email Recipient'));
// who do we email on submission
$emailRecipients = new GridField('EmailRecipients', _t('UserDefinedForm.EMAILRECIPIENTS', 'Email Recipients'), $self->EmailRecipients(), $emailRecipientsConfig);
$emailRecipients->getConfig()->getComponentByType('GridFieldDetailForm')->setItemRequestClass('UserDefinedForm_EmailRecipient_ItemRequest');
$fields->addFieldsToTab('Root.FormOptions', $onCompleteFieldSet);
$fields->addFieldToTab('Root.Recipients', $emailRecipients);
$fields->addFieldsToTab('Root.FormOptions', $self->getFormOptions());
// view the submissions
$submissions = new GridField('Submissions', _t('UserDefinedForm.SUBMISSIONS', 'Submissions'), $self->Submissions()->sort('Created', 'DESC'));
// make sure a numeric not a empty string is checked against this int column for SQL server
$parentID = !empty($self->ID) ? $self->ID : 0;
// get a list of all field names and values used for print and export CSV views of the GridField below.
$columnSQL = <<<SQL
SELECT "Name", "Title"
FROM "SubmittedFormField"
LEFT JOIN "SubmittedForm" ON "SubmittedForm"."ID" = "SubmittedFormField"."ParentID"
WHERE "SubmittedForm"."ParentID" = '{$parentID}'
ORDER BY "Title" ASC
SQL;
$columns = DB::query($columnSQL)->map();
$config = new GridFieldConfig();
$config->addComponent(new GridFieldToolbarHeader());
$config->addComponent($sort = new GridFieldSortableHeader());
$config->addComponent($filter = new UserFormsGridFieldFilterHeader());
$config->addComponent(new GridFieldDataColumns());
$config->addComponent(new GridFieldEditButton());
$config->addComponent(new GridState_Component());
$config->addComponent(new GridFieldDeleteAction());
$config->addComponent(new GridFieldPageCount('toolbar-header-right'));
$config->addComponent($pagination = new GridFieldPaginator(25));
$config->addComponent(new GridFieldDetailForm());
$config->addComponent($export = new GridFieldExportButton());
$config->addComponent($print = new GridFieldPrintButton());
/**
* Support for {@link https://github.com/colymba/GridFieldBulkEditingTools}
*/
if (class_exists('GridFieldBulkManager')) {
$config->addComponent(new GridFieldBulkManager());
}
$sort->setThrowExceptionOnBadDataType(false);
$filter->setThrowExceptionOnBadDataType(false);
$pagination->setThrowExceptionOnBadDataType(false);
// attach every column to the print view form
$columns['Created'] = 'Created';
$filter->setColumns($columns);
// print configuration
$print->setPrintHasHeader(true);
$print->setPrintColumns($columns);
// export configuration
$export->setCsvHasHeader(true);
$export->setExportColumns($columns);
$submissions->setConfig($config);
$fields->addFieldToTab('Root.Submissions', $submissions);
$fields->addFieldToTab('Root.FormOptions', new CheckboxField('DisableSaveSubmissions', _t('UserDefinedForm.SAVESUBMISSIONS', 'Disable Saving Submissions to Server')));
});
$fields = parent::getCMSFields();
return $fields;
}
示例7: getCMSFields
/**
* @return FieldList
*/
public function getCMSFields()
{
// call updateCMSFields after userforms
SiteTree::disableCMSFieldsExtensions();
$fields = parent::getCMSFields();
SiteTree::enableCMSFieldsExtensions();
// define tabs
$fields->findOrMakeTab('Root.FormContent', _t('UserDefinedForm.FORM', 'Form'));
$fields->findOrMakeTab('Root.FormOptions', _t('UserDefinedForm.CONFIGURATION', 'Configuration'));
$fields->findOrMakeTab('Root.Submissions', _t('UserDefinedForm.SUBMISSIONS', 'Submissions'));
// field editor
$fields->addFieldToTab("Root.FormContent", new FieldEditor("Fields", 'Fields', "", $this));
// text to show on complete
$onCompleteFieldSet = new CompositeField($label = new LabelField('OnCompleteMessageLabel', _t('UserDefinedForm.ONCOMPLETELABEL', 'Show on completion')), $editor = new HtmlEditorField("OnCompleteMessage", "", _t('UserDefinedForm.ONCOMPLETEMESSAGE', $this->OnCompleteMessage)));
$onCompleteFieldSet->addExtraClass('field');
$editor->setRows(3);
$label->addExtraClass('left');
// Set the summary fields of UserDefinedForm_EmailRecipient dynamically via config system
Config::inst()->update('UserDefinedForm_EmailRecipient', 'summary_fields', array('EmailAddress' => _t('UserDefinedForm.EMAILADDRESS', 'Email'), 'EmailSubject' => _t('UserDefinedForm.EMAILSUBJECT', 'Subject'), 'EmailFrom' => _t('UserDefinedForm.EMAILFROM', 'From')));
// who do we email on submission
$emailRecipients = new GridField("EmailRecipients", _t('UserDefinedForm.EMAILRECIPIENTS', 'Email Recipients'), $this->EmailRecipients(), GridFieldConfig_RecordEditor::create(10));
$emailRecipients->getConfig()->getComponentByType('GridFieldAddNewButton')->setButtonName(_t('UserDefinedForm.ADDEMAILRECIPIENT', 'Add Email Recipient'));
$fields->addFieldsToTab("Root.FormOptions", $onCompleteFieldSet);
$fields->addFieldToTab("Root.FormOptions", $emailRecipients);
$fields->addFieldsToTab("Root.FormOptions", $this->getFormOptions());
// view the submissions
$submissions = new GridField("Reports", _t('UserDefinedForm.SUBMISSIONS', 'Submissions'), $this->Submissions()->sort('Created', 'DESC'));
// make sure a numeric not a empty string is checked against this int column for SQL server
$parentID = !empty($this->ID) ? $this->ID : 0;
// get a list of all field names and values used for print and export CSV views of the GridField below.
$columnSQL = <<<SQL
SELECT "Name", "Title"
FROM "SubmittedFormField"
LEFT JOIN "SubmittedForm" ON "SubmittedForm"."ID" = "SubmittedFormField"."ParentID"
WHERE "SubmittedForm"."ParentID" = '{$parentID}'
ORDER BY "Title" ASC
SQL;
$columns = DB::query($columnSQL)->map();
$config = new GridFieldConfig();
$config->addComponent(new GridFieldToolbarHeader());
$config->addComponent($sort = new GridFieldSortableHeader());
$config->addComponent($filter = new UserFormsGridFieldFilterHeader());
$config->addComponent(new GridFieldDataColumns());
$config->addComponent(new GridFieldEditButton());
$config->addComponent(new GridState_Component());
$config->addComponent(new GridFieldDeleteAction());
$config->addComponent(new GridFieldPageCount('toolbar-header-right'));
$config->addComponent($pagination = new GridFieldPaginator(25));
$config->addComponent(new GridFieldDetailForm());
$config->addComponent($export = new GridFieldExportButton());
$config->addComponent($print = new GridFieldPrintButton());
$sort->setThrowExceptionOnBadDataType(false);
$filter->setThrowExceptionOnBadDataType(false);
$pagination->setThrowExceptionOnBadDataType(false);
// attach every column to the print view form
$columns['Created'] = 'Created';
$filter->setColumns($columns);
// print configuration
$print->setPrintHasHeader(true);
$print->setPrintColumns($columns);
// export configuration
$export->setCsvHasHeader(true);
$export->setExportColumns($columns);
$submissions->setConfig($config);
$fields->addFieldToTab("Root.Submissions", $submissions);
$fields->addFieldToTab("Root.FormOptions", new CheckboxField('DisableSaveSubmissions', _t('UserDefinedForm.SAVESUBMISSIONS', "Disable Saving Submissions to Server")));
$this->extend('updateCMSFields', $fields);
return $fields;
}
示例8: getAdditionalImagesField
/**
* Used in getCSMFields
* @return GridField
**/
protected function getAdditionalImagesField()
{
$gridField = new GridField('AdditionalFiles', _t('Product.ADDITIONALIMAGES', 'Additional files and images'), $this->AdditionalFiles(), GridFieldConfig_RelationEditor::create());
$config = $gridField->getConfig()->removeComponentsByType("GridFieldAddNewButton")->removeComponentsByType("GridFieldAddExistingAutocompleter");
$gridField->setConfig($config);
//var_dump($components->items);
$gridField->setModelClass("Product_Image");
return $gridField;
}