class FluentFilteredExtension extends Extension (View source)

Traits

Shared functionality between both FluentExtension and FluentFilteredExtension

Constants

SUFFIX

The table suffix that will be applied to a DataObject's base table.

Properties

$owner DataObject from  UsesDeletePolicy

Methods

public
__construct()

No description

public static 
add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

public
setOwner(object $owner)

Set the owner of this extension.

public
mixed
withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

public
clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

public
T
getOwner()

Returns the owner of this extension.

public static 
string
get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

public
mixed
invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

protected
updateDeleteTables(array $queriedTables)

Override delete behaviour.

protected
updateLocalisationTabColumns($summaryColumns)

No description

protected
public
Locale>
LinkedLocales()

Gets list of all Locale dataobjects, linked to this record

protected
augmentDataQueryCreation(SQLSelect $query, DataQuery $dataQuery)

Amend freshly created DataQuery objects with the current locale and frontend status

protected
updateFluentCMSFields(FieldList $fields)

Update CMS fields for fluent objects.

protected
updateCMSFields(FieldList $fields)

No description

protected
updateStatusFlags(array $flags)

This method is only called if the Extension has been applied to SiteTree. If you are using this Extension on other DataObjects you will need to implement your own Extension or method on that DataObject for flagging the "filtered" state.

public
bool
isAvailableInLocale(string|Locale|null $locale = null)

No description

protected
augmentSQL(SQLSelect $query, DataQuery|null $dataQuery = null)

No description

protected
Locale|null
getDataQueryLocale(DataQuery|null $dataQuery = null)

Get current locale from given dataquery

protected
bool
getModeIsStage()

There are two different DRAFT modes. One when browsing stage, and one when browsing archive. Both modes have "Stage" at the very end of their reading_mode name.

void
ManyManyList() $Locale> FilteredLocales()

No description

Details

__construct()

No description

static add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

Parameters

string $class
string $extensionClass
mixed $args

setOwner(object $owner)

Set the owner of this extension.

Parameters

object $owner

The owner object

mixed withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

Parameters

mixed $owner

Owner to set

callable $callback

Callback to invoke

array $args

Args to pass to callback

Return Value

mixed

clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

T getOwner()

Returns the owner of this extension.

Return Value

T

static string get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

Parameters

string $extensionStr

E.g. "Versioned('Stage','Live')"

Return Value

string

Extension classname, e.g. "Versioned"

mixed invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

Parameters

object $owner
string $method
array ...$arguments

Return Value

mixed

protected updateDeleteTables(array $queriedTables)

Override delete behaviour.

Hooks into {\TractorCow\Fluent\Model\Delete\DataObject::delete()}

Parameters

array $queriedTables

protected updateLocalisationTabColumns($summaryColumns)

No description

Parameters

$summaryColumns

protected updateLocalisationTabConfig(GridFieldConfig $config)

No description

Parameters

GridFieldConfig $config

Locale> LinkedLocales()

Gets list of all Locale dataobjects, linked to this record

Return Value

Locale>

See also

Locale::RecordLocale

protected augmentDataQueryCreation(SQLSelect $query, DataQuery $dataQuery)

Amend freshly created DataQuery objects with the current locale and frontend status

Parameters

SQLSelect $query
DataQuery $dataQuery

protected updateFluentCMSFields(FieldList $fields)

Update CMS fields for fluent objects.

These fields are added in addition to those added by specific extensions

Parameters

FieldList $fields

protected updateCMSFields(FieldList $fields)

No description

Parameters

FieldList $fields

protected updateStatusFlags(array $flags)

This method is only called if the Extension has been applied to SiteTree. If you are using this Extension on other DataObjects you will need to implement your own Extension or method on that DataObject for flagging the "filtered" state.

Parameters

array $flags

bool isAvailableInLocale(string|Locale|null $locale = null)

No description

Parameters

string|Locale|null $locale

Return Value

bool

protected augmentSQL(SQLSelect $query, DataQuery|null $dataQuery = null)

No description

Parameters

SQLSelect $query
DataQuery|null $dataQuery

protected Locale|null getDataQueryLocale(DataQuery|null $dataQuery = null)

Get current locale from given dataquery

Parameters

DataQuery|null $dataQuery

Return Value

Locale|null

protected bool getModeIsStage()

There are two different DRAFT modes. One when browsing stage, and one when browsing archive. Both modes have "Stage" at the very end of their reading_mode name.

Return Value

bool

void ManyManyList() $Locale> FilteredLocales()

No description

Parameters

) $Locale> FilteredLocales(

Return Value

void