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
-
ViewableData
implements
IteratorAggregate
-
RequestHandler
-
FormField
-
TableListField
-
ComplexTableField
-
HasManyComplexTableField
-
ManyManyComplexTableField
Methods summary
public
|
#
__construct(
See class comments |
public
string
|
|
public
|
#
getParentIdName( mixed $parentClass, mixed $childClass )
Returns the db-fieldname of the currently used has_one-relationship. |
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(),
ListStart(),
Name(),
NamePlural(),
NameSingular(),
NextLink(),
PageSize(),
PrevLink(),
PrintLink(),
ShowPagination(),
SummaryFields(),
SummaryTitle(),
TotalCount(),
Utility(),
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(),
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(),
Link(),
Message(),
MessageType(),
Required(),
RightTitle(),
SmallFieldHolder(),
Type(),
Value(),
addExtraAttribute(),
addExtraClass(),
allowHTML5(),
allow_html5(),
attrName(),
attrTitle(),
attrValue(),
createTag(),
dataValue(),
debug(),
describe(),
extraClass(),
fieldHolderTemplates(),
fieldTemplates(),
forTemplate(),
getCustomValidationMessage(),
getExtraClasses(),
getForm(),
getHTML5Attribute(),
getTabIndex(),
getTabIndexHTML(),
hasClass(),
hasData(),
id(),
isDisabled(),
isReadonly(),
jsValidation(),
name_to_label(),
performDisabledTransformation(),
removeExtraAttribute(),
removeExtraClass(),
rootFieldSet(),
securityTokenEnabled(),
setAutocomplete(),
setContainerFieldSet(),
setCustomValidationMessage(),
setDisabled(),
setError(),
setFieldHolderTemplate(),
setForm(),
setHTML5Attribute(),
setLeftTitle(),
setName(),
setReadonly(),
setRightTitle(),
setSmallFieldHolderTemplate(),
setTabIndex(),
setTitle(),
setValue(),
smallFieldHolderTemplates(),
transform(),
useHTML5(),
use_html5(),
validate()
Methods inherited from RequestHandler
allowedActions(),
checkAccessAction(),
getRequest(),
handleRequest(),
hasAction(),
httpError()
Methods inherited from ViewableData
ATT_val(),
BaseHref(),
CSSClasses(),
ColumnBreak(),
ColumnCalc(),
ColumnNumber(),
ColumnPad(),
ColumnPos(),
CurrentMember(),
CurrentPage(),
Debug(),
Even(),
EvenOdd(),
First(),
FirstLast(),
HasPerm(),
IsAjax(),
JS_val(),
Last(),
Me(),
Middle(),
MiddleString(),
Modulus(),
MultipleOf(),
Odd(),
Pos(),
RAW_val(),
SQL_val(),
ThemeDir(),
ThemeName(),
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(),
__wakeup(),
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 |
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,
$sourceClass,
$sourceFilter,
$sourceSort,
$summaryFieldList,
$summaryTitle,
$totalCount
Properties inherited from FormField
$autocomplete,
$containerFieldSet,
$customValidationMessage,
$description,
$disabled,
$dontEscape,
$extraAttributes,
$extraClass,
$extraClasses,
$fieldHTML5,
$fieldHolderTemplate,
$form,
$html5Attributes,
$leftTitle,
$message,
$messageType,
$name,
$possible_autocomplete_values,
$readonly,
$rightTitle,
$smallFieldHolderTemplate,
$tabIndex,
$title,
$use_html5,
$value
Properties inherited from RequestHandler
$allowed_actions,
$brokenOnConstruct,
$request
Properties inherited from ViewableData
$casting,
$customisedObject,
$default_cast,
$failover,
$iteratorPos,
$iteratorTotalItems