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 ManyManyComplexTableField

Special ComplexTableField for editing a many_many relation.

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

See ComplexTableField for more documentation on the base-class. See HasManyComplexTableField for more documentation on the relation table base-class.

Note: This class relies on the fact that both sides of the relation have database tables. If you are only creating a class as a logical extension (that is, it doesn't have any database fields), then you will need to create a dummy static $db array because SilverStripe won't create a database table unless needed.

Usage

$tablefield = new ManyManyComplexTableField(
    $this,
    'MyFruits',
    'Fruit',
    array(
        'Name' => 'Name',
        'Color' => 'Color'
    ),
    'getCMSFields_forPopup'
);
Object
Extended by ViewableData implements IteratorAggregate
Extended by RequestHandler
Extended by FormField
Extended by TableListField
Extended by ComplexTableField
Extended by HasManyComplexTableField
Extended by ManyManyComplexTableField
Package: forms\fields-relational
Located at sapphire/forms/ManyManyComplexTableField.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

HasManyComplexTableField::__construct
public string
# getQuery( )

Generates the query for sourceitems (without pagination/limit-clause)

Generates the query for sourceitems (without pagination/limit-clause)

Returns

string

Overrides

TableListField::getQuery
public
# getParentIdName( mixed $parentClass, mixed $childClass )

Returns the db-fieldname of the currently used has_one-relationship.

Returns the db-fieldname of the currently used has_one-relationship.

Overrides

ComplexTableField::getParentIdName

Methods inherited from HasManyComplexTableField

ExtraData(), FieldHolder(), Title(), controllerClass(), getControllerID(), saveInto(), selectedItemIDs(), setAddTitle()

Methods inherited from ComplexTableField

AddForm(), AddLink(), IsAddMode(), ItemCount(), Items(), PopupHeight(), PopupWidth(), add(), createFieldSet(), getCustomFieldsFor(), getFieldsFor(), getParentClass(), 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(), 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 string $itemClass
#

Classname for each row/item

Classname for each row/item

Properties inherited from HasManyComplexTableField

$addTitle, $htmlListEndName, $htmlListField, $joinField, $relationAutoSetting, $template

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