SilverStripe 2.4 API Docs
  • Package
  • Class
  • Tree
  • Deprecated
Version: master
  • master
  • 3.1
  • 3.0
  • 2.4
  • tagfield

Packages

  • cms
    • assets
    • batchaction
    • batchactions
    • bulkloading
    • comments
    • content
    • core
    • export
    • publishers
    • reports
    • security
    • tasks
  • forms
    • actions
    • core
    • fields-basic
    • fields-dataless
    • fields-datetime
    • fields-files
    • fields-formatted
    • fields-formattedinput
    • fields-relational
    • fields-structural
    • transformations
    • validators
  • installer
  • None
  • PHP
  • sapphire
    • api
    • bulkloading
    • control
    • core
    • cron
    • dev
    • email
    • fields-formattedinput
    • filesystem
    • formatters
    • forms
    • i18n
    • integration
    • misc
    • model
    • parsers
    • search
    • security
    • tasks
    • testing
    • tools
    • validation
    • view
    • widgets

Classes

  • ComplexTableField
  • ComplexTableField_Item
  • ComplexTableField_ItemRequest
  • ComplexTableField_Popup
  • CountryDropdownField
  • HasManyComplexTableField
  • HasManyComplexTableField_Item
  • HasOneComplexTableField
  • HasOneComplexTableField_Item
  • LanguageDropdownField
  • ManyManyComplexTableField
  • ManyManyComplexTableField_Item
  • ScaffoldingComplexTableField_Popup
  • TableField
  • TableField_Item
  • TableListField
  • TableListField_Item
  • TableListField_ItemRequest
  • TreeDropdownField
  • TreeDropdownField_Readonly
  • TreeMultiselectField
  • TreeMultiselectField_Readonly
  • TreeSelectorField

Class HasManyComplexTableField

ComplexTableField designed to edit a has_many join.

This field allows you to show a 1-to-many relation with a group of DataObjects as a (readonly) tabular list. Its most useful when you want to manage the relationship itself thanks the check boxes present on each line of the table.

Moreover, you can not do any mistake anymore in the relation by checking a DataObject already linked with another of the parent class.

See ComplexTableField for more documentation on the base-class.

Usage

$tablefield = new HasManyComplexTableField(
    $this,
    'MyFruits',
    'Fruit',
    array(
        'Name' => 'Name',
        'Color' => 'Color'
    ),
    'getCMSFields_forPopup'
);

Notice: You still have different ways to customize the popup window as in the parent-class ComplexTableField.

Object
Extended by ViewableData implements IteratorAggregate
Extended by RequestHandler
Extended by FormField
Extended by TableListField
Extended by ComplexTableField
Extended by HasManyComplexTableField

Direct known subclasses

HasOneComplexTableField, ManyManyComplexTableField

Package: forms\fields-relational
See: http://doc.silverstripe.org/tutorial/5-dataobject-relationship-management
Located at sapphire/forms/HasManyComplexTableField.php

Methods summary

public
# __construct( ContentController $controller, string $name, string $sourceClass, array $fieldList = null, FieldSet $detailFormFields = null, string $sourceFilter = "", string $sourceSort = "", string $sourceJoin = "" )

See class comments

See class comments

Parameters

$controller
ContentController
$controller
$name
string
$name
$sourceClass
string
$sourceClass
$fieldList
array
$fieldList
$detailFormFields
FieldSet
$detailFormFields
$sourceFilter
string
$sourceFilter
$sourceSort
string
$sourceSort
$sourceJoin
string
$sourceJoin

Overrides

ComplexTableField::__construct
public String
# FieldHolder( )

Returns

String

Overrides

ComplexTableField::FieldHolder
public
# controllerClass( )

Try to determine the DataObject that this field is built on top of

Try to determine the DataObject that this field is built on top of

public
# getControllerID( )
public
# saveInto( DataObject $record )

Method to save this form field into the given data object. By default, makes use of $this->dataValue()

Method to save this form field into the given data object. By default, makes use of $this->dataValue()

Overrides

FormField::saveInto
public
# setAddTitle( mixed $addTitle )

Overrides

ComplexTableField::setAddTitle
public
# Title( )

Returns the field label - used by templates.

Returns the field label - used by templates.

Overrides

ComplexTableField::Title
public
# selectedItemIDs( )

Get the IDs of the selected items, in a has_many or many_many relation

Get the IDs of the selected items, in a has_many or many_many relation

public
# ExtraData( )

Methods inherited from ComplexTableField

AddForm(), AddLink(), IsAddMode(), ItemCount(), Items(), PopupHeight(), PopupWidth(), add(), createFieldSet(), getCustomFieldsFor(), getFieldsFor(), getParentClass(), getParentIdName(), getParentIdNameRelation(), getParentRecord(), getValidatorFor(), getViewer(), handleItem(), isComposite(), saveComplexTableField(), setController(), setDetailFormValidator(), setParentClass(), setParentIdName(), setPopupCaption(), setPopupSize(), setRelationAutoSetting(), setTemplatePopup(), sourceClass(), sourceFilter(), sourceID()

Methods inherited from TableListField

Actions(), BaseLink(), Can(), CurrentLink(), ExportLink(), FieldList(), FirstItem(), FirstLink(), GroupedItems(), HasGroupedItems(), HasSummary(), Headings(), LastItem(), LastLink(), Link(), ListStart(), Name(), NamePlural(), NameSingular(), NextLink(), PageSize(), PrevLink(), PrintLink(), SelectOptions(), ShowPagination(), SummaryFields(), SummaryTitle(), TotalCount(), Utility(), addSelectOptions(), addSummary(), ajax_refresh(), colFunction_avg(), colFunction_sum(), delete(), disableSorting(), export(), filterString(), generateExportFileData(), getCastedValue(), getCsvQuery(), getCsvSeparator(), getExtraLinkParams(), getPermissions(), getQuery(), index(), isFieldSortable(), performReadonlyTransformation(), permissions_for_object(), printall(), removeCsvHeader(), removeSelectOptions(), removeSummary(), setCSVFieldFormatting(), setClick_AjaxLoad(), setClick_PopupLoad(), setCsvSeparator(), setCustomCsvQuery(), setCustomQuery(), setCustomSourceItems(), setExtraLinkParams(), setFieldCasting(), setFieldFormatting(), setFieldList(), setFieldListCsv(), setHighlightConditions(), setPageSize(), setPermissions(), setShowPagination(), setTemplate(), sourceItems()

Methods inherited from FormField

Field(), LeftTitle(), Message(), MessageType(), Required(), RightTitle(), SmallFieldHolder(), Type(), Value(), addExtraClass(), attrName(), attrTitle(), attrValue(), createTag(), dataValue(), debug(), describe(), extraClass(), forTemplate(), getCustomValidationMessage(), getForm(), getTabIndex(), getTabIndexHTML(), hasClass(), hasData(), id(), isDisabled(), isReadonly(), jsValidation(), name_to_label(), performDisabledTransformation(), removeExtraClass(), rootFieldSet(), securityTokenEnabled(), setContainerFieldSet(), setCustomValidationMessage(), setDisabled(), setError(), setForm(), setLeftTitle(), setName(), setReadonly(), setRightTitle(), setTabIndex(), setTitle(), setValue(), transform(), validate()

Methods inherited from RequestHandler

allowedActions(), checkAccessAction(), getRequest(), handleRequest(), hasAction(), httpError()

Methods inherited from ViewableData

ATT_val(), BaseHref(), CSSClasses(), CurrentMember(), CurrentPage(), Debug(), Even(), EvenOdd(), First(), FirstLast(), HasPerm(), IsAjax(), JS_val(), Last(), Me(), Middle(), MiddleString(), Modulus(), MultipleOf(), Odd(), Pos(), RAW_val(), SQL_val(), ThemeDir(), Top(), TotalItems(), XML_val(), __get(), __isset(), __set(), buildCastingCache(), cachedCall(), castingClass(), castingHelper(), castingHelperPair(), castingObjectCreator(), castingObjectCreatorPair(), customise(), defineMethods(), escapeTypeForField(), getField(), getIterator(), getSecurityID(), getXMLValues(), hasField(), hasValue(), i18nLocale(), iteratorProperties(), obj(), renderWith(), setCustomisedObj(), setField()

Methods inherited from Object

__call(), __toString(), addMethodsFrom(), addStaticVars(), addWrapperMethod(), add_extension(), add_static_var(), allMethodNames(), cacheToFile(), cacheToFileWithArgs(), clearCache(), combined_static(), create(), createMethod(), create_from_string(), exists(), extInstance(), extend(), getCustomClass(), getExtensionInstance(), getExtensionInstances(), get_extensions(), get_static(), hasExtension(), hasMethod(), has_extension(), invokeWithExtensions(), is_a(), loadCache(), parentClass(), parse_class_spec(), remove_extension(), sanitiseCachename(), saveCache(), set_stat(), set_static(), set_uninherited(), stat(), strong_create(), uninherited(), uninherited_static(), useCustomClass()

Magic methods summary

Properties summary

public mixed $joinField
#
protected mixed $addTitle
#

Determines the fields of the detail pop-up form. It can take many forms:
- A FieldSet object: Use that field set directly.
- A method name, eg, 'getCMSFields': Call that method on the child object to get the fields.

Determines the fields of the detail pop-up form. It can take many forms: - A FieldSet object: Use that field set directly. - A method name, eg, 'getCMSFields': Call that method on the child object to get the fields.

protected string $htmlListEndName
#
protected string $htmlListField
#
public string $template
#

Template for main rendering

Template for main rendering

public string $itemClass
#

Classname for each row/item

Classname for each row/item

protected boolean $relationAutoSetting
#

Automatically detect a has-one relationship in the popup (=child-class) and save the relation ID.

Automatically detect a has-one relationship in the popup (=child-class) and save the relation ID.

Properties inherited from ComplexTableField

$actions, $controller, $defaultAction, $detailFormFields, $detailFormValidator, $parentClass, $parentIdName, $permissions, $popupCaption, $popupClass, $popupHeight, $popupWidth, $requirementsForPopupCallback, $showPagination, $sourceItems, $sourceJoin, $templatePopup, $url_handlers, $viewAction

Properties inherited from TableListField

$IsReadOnly, $Markable, $MarkableTitle, $__cachedQuery, $cachedSourceItems, $clickAction, $csvFieldEscape, $csvFieldFormatting, $csvHasHeader, $csvSeparator, $customCsvQuery, $customQuery, $customSourceItems, $disableSorting, $exportButtonLabel, $extraLinkParams, $fieldCasting, $fieldFormatting, $fieldList, $fieldListCsv, $groupByField, $highlightConditions, $methodName, $pageSize, $paginationBaseLink, $readOnly, $selectOptions, $sourceClass, $sourceFilter, $sourceSort, $summaryFieldList, $summaryTitle, $totalCount

Properties inherited from FormField

$containerFieldSet, $customValidationMessage, $description, $disabled, $dontEscape, $extraClass, $extraClasses, $form, $leftTitle, $message, $messageType, $name, $readonly, $rightTitle, $tabIndex, $title, $value

Properties inherited from RequestHandler

$allowed_actions, $brokenOnConstruct, $request

Properties inherited from ViewableData

$casting, $customisedObject, $default_cast, $failover, $iteratorPos, $iteratorTotalItems

Properties inherited from Object

$class, $extension_instances, $extensions

Comments

Comment policy: Please use comments for tips and corrections about the described functionality. Comments are moderated, we reserve the right to remove comments that are inappropriate or are no longer relevant.
Use the Silverstripe Forum to ask questions.
blog comments powered by Disqus
SilverStripe 2.4 API Docs API documentation generated by ApiGen 2.8.0