Answers an array list object containing the detail fields for the template.

@return ArrayList
516130
public function getDetailFields()
    {
        // Create Details List:
        
        $details = ArrayList::create();
        
        // Define Details List:
        
        foreach ($this->owner->getDetailFieldsConfig() as $name => $spec) {
            
            if ($spec) {
                
                if (!is_array($spec)) {
                    $spec = ['text' => $spec];
                }
                
                foreach ($spec as $item => $value) {
                    
                    $args = [];
                    
                    if (is_array($value)) {
                        $args  = $value;
                        $value = array_shift($args);
                    }
                    
                    $spec[$item] = $this->owner->processDetailFieldValue($value, $args);
                    
                }
                
                $text = isset($spec['text']) ? $spec['text'] : null;
                
                if ($text) {
                    
                    if (isset($spec['show']) && !$this->owner->{$spec['show']}) {
                        continue;
                    }
                    
                    $details->push(
                        ArrayData::create([
                            'Name' => isset($spec['name']) ? $spec['name'] : $name,
                            'Icon' => isset($spec['icon']) ? $spec['icon'] : null,
                            'Text' => $text
                        ])
                    );
                    
                }
                
            }
            
        }
        
        // Answer Details List:
        
        return $details;
    }
178738
public java.util.Map<String, java.util.List<String>> getDetails() {
        return details;
    }
303506
public function listComponentDetails()
    {
        if ($this->detailsCache !== null) {
            return $this->detailsCache;
        }

        $details = [];
        foreach ($this->listComponents() as $componentAlias => $componentClass) {
            $details[$componentAlias] = $this->makeComponent($componentClass)->componentDetails();
        }

        return $this->detailsCache = $details;
    }
457001
public function getListItemAllFields()
    {
        if (!$this->isPropertyAvailable("ListItemAllFields")) {
            $this->setProperty("ListItemAllFields",
                new ListItem(
                    $this->getContext(),
                    new ResourcePathEntity($this->getContext(), $this->getResourcePath(), "ListItemAllFields")
                )
            );
        }
        return $this->getProperty("ListItemAllFields");
    }
492884
private function getFields()
    {
        $fields = [];

        foreach ($this->items as $name => $field) {
            if (is_array($field) && isset($field['name'])) {
                $fields[] = $field['name'];
            } else if ($field instanceof FillableField){
                $fields[] = $field->name;
            } else if (is_string($name)){
                $fields[] = $name;
            } else {
                $fields[] = '';
            }
        }

        return $fields;
    }
630314
public function getCMSFields()
    {
        // Obtain Field Objects (from parent):
        
        $fields = parent::getCMSFields();
        
        // Create Style Fields:
        
        $fields->addFieldToTab(
            'Root.Style',
            FieldSection::create(
                'ColumnStyle',
                $this->fieldLabel('Column'),
                [
                    ViewportsField::create(
                        'ColumnSpan',
                        $this->fieldLabel('Span'),
                        $this->getColumnSpanOptions()
                    )
                ]
            )
        );
        
        // Answer Field Objects:
        
        return $fields;
    }
791462
public function list_fields()
	{
		$field_names = array();
		$this->result_id->field_seek(0);
		while ($field = $this->result_id->fetch_field())
		{
			$field_names[] = $field->name;
		}

		return $field_names;
	}
1260374
public function getFieldsMap() {

		$formFields = $this->fields;
		$fieldsMap	= [];

		foreach( $formFields as $formField ) {

			$fieldsMap[ $formField->name ] = $formField;
		}

		return $fieldsMap;
	}
232274
public function fetchAll() {
        $templates = parent::fetchAll();
        $out = array();
        $id  = 1;
        foreach ($templates as $key => $value) {
            if (!array_key_exists('richtextable', $value) || !$value['richtextable']) {
                continue;
            }
            $out[] = array(
                'id'    => $id++,
                'name'  => $key,
                'w'     => !empty($value['w']) ? $value['w'] : null,
                'h'     => !empty($value['h']) ? $value['h'] : null,
                'crop'  => !empty($value['crop']) ? $value['crop'] : null,
                'grow'  => !empty($value['grow']) ? $value['grow'] : null
            );
        }
        return $out;
    }
794122
public function getCMSFields()
    {
        // Obtain Field Objects (from parent):
        
        $fields = parent::getCMSFields();
        
        // Create Style Fields:
        
        $fields->addFieldToTab(
            'Root.Style',
            FieldSection::create(
                'SharingStyle',
                $this->fieldLabel('SharingStyle'),
                [
                    DropdownField::create(
                        'ButtonLayout',
                        $this->fieldLabel('ButtonLayout'),
                        $this->getButtonLayoutOptions()
                    )
                ]
            )
        );
        
        // Answer Field Objects:
        
        return $fields;
    }
830950
public function getCMSFields()
    {
        $fields = parent::getCMSFields();

        $fields->addFieldToTab(
            'Root.Blocks',
            GridField::create(
                'Blocks',
                'Blocks',
                $this->Blocks(),
                GridFieldConfig_MultiClassRecord::create(
                    $this->Blocks(),
                    singleton('BlockObject_Preset')->SubClassNames
                )
            )
        );
        $this->extend('updateCMSFields', $fields);
        return $fields;
    }
111152
public function customFieldsToArray()
    {
        $result = [];
        foreach ($this->getCustomFields() as $field) {
            $result[$field->getInternalFieldName()] = $field->getValue();
        }

        return $result;
    }
918312
public function getCMSFields()
    {
        // Obtain Field Objects (from parent):
        
        $fields = parent::getCMSFields();
        
        // Add Class Ancestry:
        
        foreach ($this->getAncestorClassNames(false) as $class) {
            $fields->fieldByName('Root')->addExtraClass($class);
        }
        
        // Remove Field Objects:
        
        $fields->removeFieldsFromTab('Root.Main', ['Content', 'Metadata']);
        
        // Modify Field Objects:
        
        $fields->fieldByName('Root.Main')->setTitle(_t(__CLASS__ . '.TABMAIN', 'Main'));
        $fields->dataFieldByName('MenuTitle')->addExtraClass('hidden');
        
        // Answer Field Objects:
        
        return $fields;
    }
502600
public function getFieldNames()
    {
        if ( ! $this->isActive ) {
            throw new NonActiveException('You can only get the field names of the active template');
        }

        $ret = array();

        try {
            $result = $this->getSoapClient()->GetFieldNames();
        } catch ( SoapException $ex ) {
            throw new StatusException('Error while getting the list of all fields in the active template' , $ex);
        }

        if ( isset($result->GetFieldNamesResult->string) ) {
            if ( is_array($result->GetFieldNamesResult->string) ) {
                $ret = $result->GetFieldNamesResult->string;
            } else {
                $ret[] = $result->GetFieldNamesResult->string;
            }
        }

        return $ret;
    }
1038304
public function toArray()
    {
        $data = parent::toArray();

        $data = array_intersect_key($data, $this->_fields);

        return $data;
    }
75089
public function getCMSFields()
    {
        // Obtain Field Objects (from parent):
        
        $fields = parent::getCMSFields();
        
        // Create Style Fields:
        
        $style = [];
        
        // Create Column Span Field:
        
        if (self::framework()->useColumnSpan()) {
            
            $style[] = ViewportsField::create(
                'Span',
                $this->fieldLabel('Span'),
                $this->getColumnSpanOptions()
            );
            
        }
        
        // Create Column Offset Field:
        
        if (self::framework()->useColumnOffset()) {
            
            $style[] = ViewportsField::create(
                'Offset',
                $this->fieldLabel('Offset'),
                $this->getColumnOffsetOptions()
            );
            
        }
        
        // Add Style Fields to Tab:
        
        if (!empty($style)) {
            
            $fields->addFieldToTab(
                'Root.Style',
                FieldSection::create(
                    'ColumnStyle',
                    $this->fieldLabel('ColumnStyle'),
                    $style
                )
            );
            
        }
        
        // Create Options Fields:
        
        $fields->addFieldToTab(
            'Root.Options',
            FieldSection::create(
                'ColumnOptions',
                $this->fieldLabel('ColumnOptions'),
                [
                    CheckboxField::create(
                        'Sidebar',
                        $this->fieldLabel('Sidebar')
                    ),
                    CheckboxField::create(
                        'HideEmpty',
                        $this->fieldLabel('HideEmpty')
                    ),
                    CheckboxField::create(
                        'EdgeToEdge',
                        $this->fieldLabel('EdgeToEdge')
                    )
                ]
            )
        );
        
        // Answer Field Objects:
        
        return $fields;
    }
802827
public function getList()
    {
        return $this->find('list')
            ->order([$this->getDisplayField() => 'ASC'])
            ->cache(sprintf('%s_list', $this->getTable()), $this->getCacheName());
    }