Documentation

Mage_Widget_Model_Widget extends DataObject
in package

Maho

Tags
copyright

Copyright (c) 2006-2020 Magento, Inc. (https://magento.com)

Copyright (c) 2020-2025 The OpenMage Contributors (https://openmage.org)

Copyright (c) 2024-2026 Maho (https://mahocommerce.com)

license

https://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)

Table of Contents

Properties

$_data  : array<string|int, mixed>|null
Object attributes
$_dirty  : array<string|int, mixed>
$_hasDataChanges  : bool
Data changes flag (true after setData|unsetData call)
$_idFieldName  : string
Name of object id field
$_isDeleted  : bool
Object delete flag
$_oldFieldsMap  : array<string|int, mixed>
Map short fields names to its full names
$_syncFieldsMap  : mixed
Map of fields to sync to other fields upon changing their data
$_underscoreCache  : array<string|int, mixed>
Setter/Getter underscore transformation cache

Methods

__call()  : mixed
Set/Get attribute wrapper
__construct()  : mixed
Constructor
__get()  : mixed
Attribute getter (deprecated)
__set()  : mixed
Attribute setter (deprecated)
__toArray()  : array<string|int, mixed>
Convert object attributes to array
addData()  : $this
Add data to the object.
debug()  : string|array<string|int, mixed>
Present object data as string in debug mode
flagDirty()  : $this
getConfigAsObject()  : DataObject
Return widget XML configuration as \Maho\DataObject and makes some data preparations
getConfigAsXml()  : null|Element
Wrapper for getXmlElementByType method
getData()  : mixed
Object data getter
getDataByKey()  : mixed
Get object data by particular key
getDataByPath()  : mixed
Get object data by path
getDataSetDefault()  : mixed
Fast get data or set default if value is not available
getDataUsingMethod()  : mixed
Get object data by key with calling getter method
getId()  : mixed
Retrieve object id
getIdFieldName()  : string
Retrieve name of object id field
getWidgetDeclaration()  : string
Return widget presentation code in WYSIWYG editor
getWidgetsArray()  : array<string|int, mixed>
Return list of widgets as array
getWidgetsRequiredJsFiles()  : array<string|int, mixed>
Return list of required JS files to be included on the top of the page before insertion plugin loaded
getWidgetsXml()  : Element
Return filtered list of widgets as SimpleXml object
getXmlConfig()  : Config
Load Widgets XML config from widget.xml files and cache it
getXmlElementByType()  : null|Element
Return widget XML config element based on its type
hasData()  : bool
If $key is empty, checks whether there's any data in the object Otherwise checks if the specified attribute is set.
hasDataChanges()  : bool
Get data change status
isDeleted()  : bool
Set _isDeleted flag value (if $isDeleted param is defined) and return current flag value
isDirty()  : bool
isEmpty()  : bool
checks whether the object is empty
jsonSerialize()  : array<string|int, mixed>
Implementation of JsonSerializable::jsonSerialize()
offsetExists()  : bool
Implementation of ArrayAccess::offsetExists()
offsetGet()  : mixed
Implementation of ArrayAccess::offsetGet()
offsetSet()  : void
Implementation of ArrayAccess::offsetSet()
offsetUnset()  : void
Implementation of ArrayAccess::offsetUnset()
serialize()  : string
serialize object attributes
setData()  : $this
Overwrite data in the object.
setDataChanges()  : $this
Clears data changes status
setDataUsingMethod()  : $this
Set object data with calling setter method
setId()  : $this
Set object id field value
setIdFieldName()  : $this
set name of object id field
toArray()  : array<string|int, mixed>
Public wrapper for __toArray
toJson()  : string
Public wrapper for __toJson
toString()  : string
Public wrapper for __toString
toXml()  : string
Public wrapper for __toXml
unsetData()  : $this
Unset data from the object.
unsetOldData()  : $this
Unset old fields data from the object.
__toJson()  : string
Convert object attributes to JSON
__toXml()  : string
Convert object attributes to XML
_addFullNames()  : mixed
_camelize()  : string
_construct()  : void
Internal constructor not depended on params. Can be used for object initialization
_getData()  : mixed
Get value from _data array without parse key
_idEncode()  : string
Encode string to valid HTML id element, based on base64 encoding
_initOldFieldsMap()  : mixed
Inits mapping array of object's previously used fields to new fields.
_prepareArray()  : array<string|int, mixed>
Set required array elements
_prepareSyncFieldsMap()  : $this
Called after old fields are inited. Forms synchronization map to sync old fields and new fields between each other.
_sortParameters()  : int
Widget parameters sort callback
_sortWidgets()  : int<-1, 1>
User-defined widgets sorting by Name
_underscore()  : string
Converts field names for setters and getters

Properties

$_data

Object attributes

protected array<string|int, mixed>|null $_data = []

$_dirty

protected array<string|int, mixed> $_dirty

$_hasDataChanges

Data changes flag (true after setData|unsetData call)

protected bool $_hasDataChanges = false

$_idFieldName

Name of object id field

protected string $_idFieldName = null

$_isDeleted

Object delete flag

protected bool $_isDeleted = false

$_oldFieldsMap

Map short fields names to its full names

protected array<string|int, mixed> $_oldFieldsMap = []

$_syncFieldsMap

Map of fields to sync to other fields upon changing their data

protected mixed $_syncFieldsMap = []

$_underscoreCache

Setter/Getter underscore transformation cache

protected static array<string|int, mixed> $_underscoreCache = []

Methods

__call()

Set/Get attribute wrapper

public __call(string $method, array<string|int, mixed> $args) : mixed
Parameters
$method : string
$args : array<string|int, mixed>

__construct()

Constructor

public __construct() : mixed

By default, is looking for first argument as array and assigns it as object attributes This behaviour may change in child classes

__get()

Attribute getter (deprecated)

public __get(string $var) : mixed
Parameters
$var : string

__set()

Attribute setter (deprecated)

public __set(string $var, mixed $value) : mixed
Parameters
$var : string
$value : mixed

__toArray()

Convert object attributes to array

public __toArray([array<string|int, mixed> $arrAttributes = [] ]) : array<string|int, mixed>
Parameters
$arrAttributes : array<string|int, mixed> = []

array of required attributes

Return values
array<string|int, mixed>

addData()

Add data to the object.

public addData(array<string|int, mixed> $arr) : $this

Retains previous data in the object.

Parameters
$arr : array<string|int, mixed>
Return values
$this

debug()

Present object data as string in debug mode

public debug([mixed $data = null ][, array<string|int, mixed> &$objects = [] ]) : string|array<string|int, mixed>
Parameters
$data : mixed = null
$objects : array<string|int, mixed> = []
Return values
string|array<string|int, mixed>

flagDirty()

public flagDirty(string $field[, bool $flag = true ]) : $this
Parameters
$field : string
$flag : bool = true
Return values
$this

getConfigAsObject()

Return widget XML configuration as \Maho\DataObject and makes some data preparations

public getConfigAsObject(string $type) : DataObject
Parameters
$type : string

Widget type

Return values
DataObject

getConfigAsXml()

Wrapper for getXmlElementByType method

public getConfigAsXml(string $type) : null|Element
Parameters
$type : string

Widget type

Return values
null|Element

getData()

Object data getter

public getData([string $key = '' ][, string|int $index = null ]) : mixed

If $key is not defined will return all the data as an array. Otherwise, it will return value of the element specified by $key. It is possible to use keys like a/b/c for access nested array data

If $index is specified it will assume that attribute data is an array and retrieve corresponding member. If data is the string - it will be explode by new line character and converted to array.

Parameters
$key : string = ''
$index : string|int = null

getDataByKey()

Get object data by particular key

public getDataByKey(string $key) : mixed
Parameters
$key : string

getDataByPath()

Get object data by path

public getDataByPath(string $path) : mixed

Method consider the path as chain of keys: a/b/c => ['a']['b']['c']

Parameters
$path : string

getDataSetDefault()

Fast get data or set default if value is not available

public getDataSetDefault(string $key, mixed $default) : mixed
Parameters
$key : string
$default : mixed

getDataUsingMethod()

Get object data by key with calling getter method

public getDataUsingMethod(string $key[, mixed $args = null ]) : mixed
Parameters
$key : string
$args : mixed = null

getId()

Retrieve object id

public getId() : mixed

getIdFieldName()

Retrieve name of object id field

public getIdFieldName() : string
Return values
string

getWidgetDeclaration()

Return widget presentation code in WYSIWYG editor

public getWidgetDeclaration(string $type[, array<string|int, mixed> $params = [] ]) : string
Parameters
$type : string

Widget Type

$params : array<string|int, mixed> = []

Pre-configured Widget Params

Return values
string

Widget directive ready to parse

getWidgetsArray()

Return list of widgets as array

public getWidgetsArray([array<string|int, mixed> $filters = [] ]) : array<string|int, mixed>
Parameters
$filters : array<string|int, mixed> = []

Key-value array of filters for widget node properties

Return values
array<string|int, mixed>

getWidgetsRequiredJsFiles()

Return list of required JS files to be included on the top of the page before insertion plugin loaded

public getWidgetsRequiredJsFiles() : array<string|int, mixed>
Return values
array<string|int, mixed>

getWidgetsXml()

Return filtered list of widgets as SimpleXml object

public getWidgetsXml([array<string|int, mixed> $filters = [] ]) : Element
Parameters
$filters : array<string|int, mixed> = []

Key-value array of filters for widget node properties

Return values
Element

getXmlConfig()

Load Widgets XML config from widget.xml files and cache it

public getXmlConfig() : Config
Return values
Config

getXmlElementByType()

Return widget XML config element based on its type

public getXmlElementByType(string $type) : null|Element
Parameters
$type : string

Widget type

Return values
null|Element

hasData()

If $key is empty, checks whether there's any data in the object Otherwise checks if the specified attribute is set.

public hasData([string $key = '' ]) : bool
Parameters
$key : string = ''
Return values
bool

hasDataChanges()

Get data change status

public hasDataChanges() : bool
Return values
bool

isDeleted()

Set _isDeleted flag value (if $isDeleted param is defined) and return current flag value

public isDeleted([bool $isDeleted = null ]) : bool
Parameters
$isDeleted : bool = null
Return values
bool

isDirty()

public isDirty([string $field = null ]) : bool
Parameters
$field : string = null
Return values
bool

isEmpty()

checks whether the object is empty

public isEmpty() : bool
Return values
bool

jsonSerialize()

Implementation of JsonSerializable::jsonSerialize()

public jsonSerialize() : array<string|int, mixed>

Prepares the object data for JSON serialization. Returns all object data as an array, with special handling for nested DataObject instances:

  • If a nested DataObject has a custom jsonSerialize() implementation, it's preserved as-is
  • If a nested DataObject has a custom toJson() method, it's converted to JSON string
  • If a nested DataObject uses only the base implementations, it's excluded from output

This prevents infinite recursion and circular references when serializing object hierarchies.

Attributes
#[Override]
Return values
array<string|int, mixed>

serialize()

serialize object attributes

public serialize([array<string|int, mixed> $attributes = [] ][, string $valueSeparator = '=' ][, string $fieldSeparator = ' ' ][, string $quote = '"' ]) : string
Parameters
$attributes : array<string|int, mixed> = []
$valueSeparator : string = '='
$fieldSeparator : string = ' '
$quote : string = '"'
Return values
string

setData()

Overwrite data in the object.

public setData(string|array<string|int, mixed> $key[, mixed $value = null ]) : $this

$key can be string or array. If $key is string, the attribute value will be overwritten by $value

If $key is an array, it will overwrite all the data in the object.

Parameters
$key : string|array<string|int, mixed>
$value : mixed = null
Return values
$this

setDataChanges()

Clears data changes status

public setDataChanges(bool $value) : $this
Parameters
$value : bool
Return values
$this

setDataUsingMethod()

Set object data with calling setter method

public setDataUsingMethod(string $key[, mixed $args = [] ]) : $this
Parameters
$key : string
$args : mixed = []
Return values
$this

setId()

Set object id field value

public setId(mixed $value) : $this
Parameters
$value : mixed
Return values
$this

setIdFieldName()

set name of object id field

public setIdFieldName(string $name) : $this
Parameters
$name : string
Return values
$this

toArray()

Public wrapper for __toArray

public toArray([array<string|int, mixed> $arrAttributes = [] ]) : array<string|int, mixed>
Parameters
$arrAttributes : array<string|int, mixed> = []
Return values
array<string|int, mixed>

toJson()

Public wrapper for __toJson

public toJson([array<string|int, mixed> $arrAttributes = [] ]) : string
Parameters
$arrAttributes : array<string|int, mixed> = []
Return values
string

toString()

Public wrapper for __toString

public toString([string $format = '' ]) : string

Will use $format as an template and substitute {{key}} for attributes

Parameters
$format : string = ''
Return values
string

toXml()

Public wrapper for __toXml

public toXml([array<string|int, mixed> $arrAttributes = [] ][, string $rootName = 'item' ][, bool $addOpenTag = false ][, bool $addCdata = true ]) : string
Parameters
$arrAttributes : array<string|int, mixed> = []
$rootName : string = 'item'
$addOpenTag : bool = false
$addCdata : bool = true
Return values
string

unsetData()

Unset data from the object.

public unsetData([string $key = null ]) : $this

$key can be a string only. Array will be ignored.

Parameters
$key : string = null
Return values
$this

unsetOldData()

Unset old fields data from the object.

public unsetOldData([string $key = null ]) : $this

$key can be a string only. Array will be ignored.

Parameters
$key : string = null
Return values
$this

__toJson()

Convert object attributes to JSON

protected __toJson([array<string|int, mixed> $arrAttributes = [] ]) : string
Parameters
$arrAttributes : array<string|int, mixed> = []

array of required attributes

Return values
string

__toXml()

Convert object attributes to XML

protected __toXml([array<string|int, mixed> $arrAttributes = [] ][, string $rootName = 'item' ][, bool $addOpenTag = false ][, bool $addCdata = true ]) : string
Parameters
$arrAttributes : array<string|int, mixed> = []

array of required attributes

$rootName : string = 'item'

name of the root element

$addOpenTag : bool = false
$addCdata : bool = true
Return values
string

_addFullNames()

protected _addFullNames() : mixed

_camelize()

protected _camelize(string $name) : string
Parameters
$name : string
Return values
string

_construct()

Internal constructor not depended on params. Can be used for object initialization

protected _construct() : void

_getData()

Get value from _data array without parse key

protected _getData(string $key) : mixed
Parameters
$key : string

_idEncode()

Encode string to valid HTML id element, based on base64 encoding

protected _idEncode(string $string) : string
Parameters
$string : string
Return values
string

_initOldFieldsMap()

Inits mapping array of object's previously used fields to new fields.

protected _initOldFieldsMap() : mixed

Must be overloaded by descendants to set concrete fields map.

_prepareArray()

Set required array elements

protected _prepareArray(array<string|int, mixed> &$arr[, array<string|int, mixed> $elements = [] ]) : array<string|int, mixed>
Parameters
$arr : array<string|int, mixed>
$elements : array<string|int, mixed> = []
Return values
array<string|int, mixed>

_prepareSyncFieldsMap()

Called after old fields are inited. Forms synchronization map to sync old fields and new fields between each other.

protected _prepareSyncFieldsMap() : $this
Return values
$this

_sortWidgets()

User-defined widgets sorting by Name

protected _sortWidgets(array<string|int, mixed> $a, array<string|int, mixed> $b) : int<-1, 1>
Parameters
$a : array<string|int, mixed>
$b : array<string|int, mixed>
Return values
int<-1, 1>

_underscore()

Converts field names for setters and getters

protected _underscore(string $name) : string

$this->setMyField($value) === $this->setData('my_field', $value) Uses cache to eliminate unnecessary preg_replace

Parameters
$name : string
Return values
string
On this page

Search results