BeforeDisplayEvent
Extends ContentPrepareEvent Implements ResultAwareInterfaceClass for Content event.
Example: new BeforeDisplayEvent('onEventName', ['context' => 'com_example.example', 'subject' => $contentObject, 'params' => $params, 'page' => $pageNum]);
| since |
5.0.0 |
|---|---|
| package |
Joomla CMS |
Methods
__construct
Constructor.
__construct( name, mixed||string|int arguments = []) :
| throws |
|
|---|---|
| since |
5.0.0 |
Arguments
- name
stringThe event name.- arguments
array<string|int, mixed>The event arguments.
Response
mixed
addResult
Appends data to the result array of the event.
addResult( data) :
| since |
4.2.0 |
|---|
Arguments
- data
mixedWhat to add to the result array.
Response
void
create
Creates a new CMS event object for a given event name and subject. The following arguments must be given: subject object The subject of the event. This is the core object you are going to manipulate.
create( eventName, mixed||string|int arguments = []) :
eventClass string The Event class name. If you do not provide it Joomla\CMS\Events<eventNameWithoutOnPrefix> will be used.
| since |
4.0.0 |
|---|---|
| throws |
|
Arguments
- eventName
stringThe name of the event, e.g. onTableBeforeLoad- arguments
array<string|int, mixed>Additional arguments to pass to the event
Response
static
getArgument
Get an event argument value.
getArgument( name, default = null) :
It will use a pre-processing method if one exists. The method has the signature:
onGet<ArgumentName>($value): mixed
where:
$value is the value currently stored in the $arguments array of the event It returns the value to return to the caller.
| since |
4.0.0 |
|---|
Arguments
- name
stringThe argument name.- default
mixedThe default value if not found.
Response
mixedThe argument value or the default value.
getContext
Getter for the context argument.
getContext() :
| since |
5.0.0 |
|---|
Response
string
getEventClassByEventName
Get the concrete event class name for the given event name.
getEventClassByEventName( eventName) :
This method falls back to the generic Joomla\Event\Event class if the event name is unknown to this trait.
| since |
4.2.0 |
|---|
Arguments
- eventName
stringThe event name
Response
stringThe event class name
getItem
Getter for the item argument.
getItem() :
| since |
5.0.0 |
|---|
Response
object
getPage
Getter for the page argument.
getPage() : int
| since |
5.0.0 |
|---|
Response
int|null
getParams
Getter for the item argument.
getParams() : \Joomla\Registry\Registry
| since |
5.0.0 |
|---|
Response
Registry
offsetSet
Set the value of an event argument.
offsetSet( name, value) :
| since |
4.0.0 |
|---|---|
| throws |
|
Arguments
- name
stringThe argument name.- value
mixedThe argument value.
Response
void
offsetUnset
Remove an event argument.
offsetUnset( name) :
| since |
4.0.0 |
|---|---|
| throws |
|
Arguments
- name
stringThe argument name.
Response
void
onSetContext
Setter for the context argument.
onSetContext( value) :
| since |
5.0.0 |
|---|
Arguments
- value
stringThe value to set
Response
string
onSetPage
Setter for the page argument.
onSetPage(int value) : int
| since |
5.0.0 |
|---|
Arguments
- value
int|nullThe value to set
Response
int|null
onSetParams
Setter for the params argument.
onSetParams(\Joomla\Registry\Registry value) : \Joomla\Registry\Registry
| since |
5.0.0 |
|---|
Arguments
- value
RegistryThe value to set
Response
Registry
onSetResult
Handle setting the result argument directly.
onSetResult(mixed||string|int value) : mixed||string|int
This method serves a dual purpose: backwards compatibility and enforcing the use of addResult.
When $this->preventSetArgumentResult is false it acts as a backwards compatibility shim for event handlers expecting generic event classes instead of the concrete Events implemented in this package. This allows the migration to concrete event classes throughout the lifetime of Joomla 4.x.
When $this->preventSetArgumentResult is false (which will always be the case on Joomla 5.0) it will throw a BadMethodCallException if the developer tries to call setArgument('result', ...) instead of going through the addResult() method.
| since |
4.4.0 |
|---|
Arguments
- value
array<string|int, mixed>The new result array.
Response
array<string|int, mixed>
onSetSubject
Setter for the subject argument.
onSetSubject( value) :
| since |
5.0.0 |
|---|
Arguments
- value
objectThe value to set
Response
object
reshapeArguments
Reshape the arguments array to preserve b/c with legacy listeners
reshapeArguments(mixed||string|int arguments, mixed||string|int argumentNames, mixed||string|int defaults = []) : mixed||string|int
| since |
4.2.0 |
|---|
Arguments
- arguments
array<string|int, mixed>The named arguments array passed to the constructor.- argumentNames
array<string|int, mixed>The allowed argument names (mandatory AND optional).- defaults
array<string|int, mixed>Default values for optional arguments.
Response
array<string|int, mixed>The reshaped arguments.
setArgument
Add argument to event.
setArgument( name, value) :
It will use a pre-processing method if one exists. The method has the signature:
onSet<ArgumentName>($value): mixed
where:
$value is the value being set by the user It returns the value to return to set in the $arguments array of the event.
| since |
4.0.0 |
|---|
Arguments
- name
stringArgument name.- value
mixedValue.
Response
$this
setResult
Handle setting the result argument directly.
setResult(mixed||string|int value) : mixed||string|int
This method serves a dual purpose: backwards compatibility and enforcing the use of addResult.
When $this->preventSetArgumentResult is false it acts as a backwards compatibility shim for event handlers expecting generic event classes instead of the concrete Events implemented in this package. This allows the migration to concrete event classes throughout the lifetime of Joomla 4.x.
When $this->preventSetArgumentResult is false (which will always be the case on Joomla 5.0) it will throw a BadMethodCallException if the developer tries to call setArgument('result', ...) instead of going through the addResult() method.
| since |
4.2.0 |
|---|---|
| deprecated |
4.4.0 will be removed in 7.0 Use counterpart with onSet prefix |
Arguments
- value
array<string|int, mixed>The new result array.
Response
array<string|int, mixed>
Properties
eventNameToConcreteClass
Maps event names to concrete Event classes.
This is only for events with invariable names. Events with variable names are handled with PHP logic in the getEventClassByEventName class.
| since |
4.2.0 |
|---|
Type(s)
array<string|int, mixed>
legacyArgumentsOrder
The argument names, in order expected by legacy plugins.
| since |
5.0.0 |
|---|---|
| deprecated |
5.0 will be removed in 7.0 |
Type(s)
array<string|int, mixed>
resultIsNullable
Can the result attribute values also be NULL?
| since |
4.2.0 |
|---|
Type(s)
bool
resultIsFalseable
Can the result attribute values also be boolean FALSE?
| since |
4.2.0 |
|---|---|
| deprecated |
4.3 will be removed in 7.0 You should use nullable values or exceptions instead of returning boolean false results. |
Type(s)
bool
preventSetArgumentResult
Disallow setting the result argument directly with setArgument() instead of going through addResult().
You should set this to true ONLY for event names which did NOT exist before Joomla 4.2.0 or if you are a third party developer introducing new event names for use only in your software.
| since |
4.2.0 |
|---|---|
| deprecated |
4.3 will be removed in 7.0 Using setResult() for the result argument will always be disallowed. |
Type(s)
bool