本文整理汇总了PHP中FieldList::VisibleFields方法的典型用法代码示例。如果您正苦于以下问题:PHP FieldList::VisibleFields方法的具体用法?PHP FieldList::VisibleFields怎么用?PHP FieldList::VisibleFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FieldList
的用法示例。
在下文中一共展示了FieldList::VisibleFields方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: manualUpdateCMSFields
/**
* This should be updateCMSFields and configured to be called last but configuration
* priority does not seem to work to force this to be the last loaded/called extension.
*
* For now will call via extend.manualUpdate with the field list in ArtisanModel.getCMSFields
*
* @param FieldList $fields
*/
public function manualUpdateCMSFields(FieldList $fields)
{
// $formFields = $fields->dataFields();
$formFields = $fields->VisibleFields();
$selectorFieldName = parent::get_config_setting('selector_field_name');
$hiddenCSSClass = parent::get_config_setting('hidden_css_class');
$provider = Injector::inst()->get('AdaptableFormMetaDataProvider');
$defaultFieldNames = $provider->getDefaultFieldNames();
// keep track of fields we have encountered in the spec, other fields will be hidden,
// we can initialise this to defaultFieldNames as we don't want to hide these ever
$handled = array_combine($defaultFieldNames, $defaultFieldNames);
// we want to get the form so we can remove fields later
$form = null;
$metaData = $provider->getMetaData();
// the master list of content types by field name
$this->contentTypes = [];
foreach ($metaData as $contentType => $fieldSpec) {
if (isset($fieldSpec['FormFields'])) {
$fieldDefinitions = $fieldSpec['FormFields'];
$specFields = array_merge($fieldDefinitions, $defaultFieldNames);
$this->processFieldList($formFields, $contentType, $selectorFieldName, $specFields, $defaultFieldNames, $handled);
}
}
$this->hideUnhandled($formFields, $handled, $hiddenCSSClass);
}
示例2: testVisibleAndHiddenFields
/**
* Test VisibleFields and HiddenFields
*/
public function testVisibleAndHiddenFields()
{
$fields = new FieldList(new TextField("A"), new TextField("B"), new HiddenField("C"), new Tabset("Root", new Tab("D", new TextField("D1"), new HiddenField("D2"))));
$hidden = $fields->HiddenFields();
// Inside hidden fields, all HiddenField objects are included, even nested ones
$this->assertNotNull($hidden->dataFieldByName('C'));
$this->assertNotNull($hidden->dataFieldByName('D2'));
// Visible fields are not
$this->assertNull($hidden->dataFieldByName('B'));
$this->assertNull($hidden->dataFieldByName('D1'));
$visible = $fields->VisibleFields();
// Visible fields exclude top level HiddenField objects
$this->assertNotNull($visible->dataFieldByName('A'));
$this->assertNull($visible->dataFieldByName('C'));
// But they don't exclude nested HiddenField objects. This is a limitation; you should
// put all your HiddenFields at the top level.
$this->assertNotNull($visible->dataFieldByName('D2'));
}