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 HasOneComplexTableField

ComplexTableField with a radio button column, designed to edit a has_one join.

This [RelationTable](RelationTable) allows you to show a 1-to-1 or 1-to-many relation with a group of DataObjects as a (readonly) tabular list (similiar to [ComplexTableField](ComplexTableField)). Its most useful when you want to manage the relationship itself thanks the radio buttons present on each line of the table.

Moreover, you have the possibility to uncheck a radio button in order to make the relation as null.

Usage

$tablefield = new HasOneComplexTableField(
    $this,
    'MyOnlyFruit',
    '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](ComplexTableField).

This field is made to manage a has_one relation. In the SilverStripe relation between DataObjects, you can use this relation for 1-to-1 and 1-to-many relations. By default, a HasOneComplexTableField manages a 1-to-many relation. If you want to specify that the relation that you manage is a 1-to-1 relation, add this code :

$tablefield->setOneToOne();
Object
Extended by ViewableData implements IteratorAggregate
Extended by RequestHandler
Extended by FormField
Extended by TableListField
Extended by ComplexTableField
Extended by HasManyComplexTableField
Extended by HasOneComplexTableField
Package: forms\fields-relational
Located at sapphire/forms/HasOneComplexTableField.php

Methods summary

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
public
# getControllerJoinID( )
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

HasManyComplexTableField::saveInto
public
# setOneToOne( )
public
# isChildSet( mixed $childID )
public
# ExtraData( )

Overrides

HasManyComplexTableField::ExtraData

Methods inherited from HasManyComplexTableField

FieldHolder(), Title(), __construct(), controllerClass(), getControllerID(), 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(), 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 string $itemClass
#

Classname for each row/item

Classname for each row/item

public boolean $isOneToOne
#

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