FormController
Extends BaseControllerController tailored to suit most form-based admin operations.
| since |
1.6 |
|---|---|
| todo |
Add ability to set redirect manually to better cope with frontend usage. |
| package |
Joomla CMS |
Methods
__construct
Constructor.
__construct(array config = array(), \Joomla\CMS\MVC\Factory\MVCFactoryInterface factory = null) : mixed
| since |
3.0 |
|---|
Arguments
- config
arrayAn optional associative array of configuration settings. Recognized key values include 'name', 'default_task', 'model_path', and 'view_path' (this list is not meant to be comprehensive).- factory
\Joomla\CMS\MVC\Factory\MVCFactoryInterfaceThe factory.
Response
mixed
add
Method to add a new record.
add() : bool
| since |
1.6 |
|---|
Response
boolTrue if the record can be added, false if not.
addModelPath
Adds to the stack of model paths in LIFO order.
addModelPath(mixed path, string prefix = '') : void
| since |
3.0 |
|---|
Arguments
- path
mixedThe directory (string), or list of directories (array) to add.- prefix
stringA prefix for models
addPath
Adds to the search path for templates and resources.
addPath(string type, mixed path) : \JControllerLegacy
| since |
3.0 |
|---|
Arguments
- type
stringThe path type (e.g. 'model', 'view').- path
mixedThe directory string or stream array to search.
Response
\JControllerLegacyA \JControllerLegacy object to support chaining.
addViewPath
Add one or more view paths to the controller's stack, in LIFO order.
addViewPath(mixed path) : \JControllerLegacy
| since |
3.0 |
|---|
Arguments
- path
mixedThe directory (string) or list of directories (array) to add.
Response
\JControllerLegacyThis object to support chaining.
allowAdd
Method to check if you can add a new record.
allowAdd(array data = array()) : bool
Extended classes can override this if necessary.
| since |
1.6 |
|---|
Arguments
- data
arrayAn array of input data.
Response
bool
allowEdit
Method to check if you can edit an existing record.
allowEdit(array data = array(), string key = 'id') : bool
Extended classes can override this if necessary.
| since |
1.6 |
|---|
Arguments
- data
arrayAn array of input data.- key
stringThe name of the key for the primary key; default is id.
Response
bool
allowSave
Method to check if you can save a new or existing record.
allowSave(array data, string key = 'id') : bool
Extended classes can override this if necessary.
| since |
1.6 |
|---|
Arguments
- data
arrayAn array of input data.- key
stringThe name of the key for the primary key.
Response
bool
authorise
Authorisation check
authorise(string task) : bool
| since |
3.0 |
|---|---|
| deprecated |
3.0 Use \JAccess instead. |
Arguments
- task
stringThe ACO Section Value to check access on.
Response
boolTrue if authorised
batch
Method to run batch operations.
batch(\JModelLegacy model) : bool
| since |
1.7 |
|---|
Arguments
- model
\JModelLegacyThe model of the component being processed.
Response
boolTrue if successful, false otherwise and internal error is set.
cancel
Method to cancel an edit.
cancel(string key = null) : bool
| since |
1.6 |
|---|
Arguments
- key
stringThe name of the primary key of the URL variable.
Response
boolTrue if access level checks pass, false otherwise.
checkEditId
Method to check whether an ID is in the edit list.
checkEditId(string context, int id) : bool
| since |
3.0 |
|---|
Arguments
- context
stringThe context for the session storage.- id
intThe ID of the record to add to the edit list.
Response
boolTrue if the ID is in the edit list.
checkToken
Checks for a form token in the request.
checkToken(string method = 'post', bool redirect = true) : bool
Use in conjunction with \JHtml::_('form.token') or \JSession::getFormToken.
| since |
3.7.0 |
|---|---|
| see | JSession::checkToken() |
Arguments
- method
stringThe request method in which to look for the token key.- redirect
boolWhether to implicitly redirect user to the referrer page on failure or simply return false.
Response
boolTrue if found and valid, otherwise return false or redirect to referrer page.
createFileName
Create the filename for a resource.
createFileName(string type, array parts = array()) : string
| since |
3.0 |
|---|
Arguments
- type
stringThe resource type to create the filename for.- parts
arrayAn associative array of filename information. Optional.
Response
stringThe filename.
createModel
Method to load and return a model object.
createModel(string name, string prefix = '', array config = array()) : \JModelLegacy|bool
| since |
3.0 |
|---|
Arguments
- name
stringThe name of the model.- prefix
stringOptional model prefix.- config
arrayConfiguration array for the model. Optional.
Response
\JModelLegacy|boolModel object on success; otherwise false on failure.
createView
Method to load and return a view object. This method first looks in the current template directory for a match and, failing that, uses a default set path to load the view class file.
createView(string name, string prefix = '', string type = '', array config = array()) : \JViewLegacy|null
Note the "name, prefix, type" order of parameters, which differs from the "name, type, prefix" order used in related public methods.
| since |
3.0 |
|---|---|
| throws |
|
Arguments
- name
stringThe name of the view.- prefix
stringOptional prefix for the view class name.- type
stringThe type of view.- config
arrayConfiguration array for the view. Optional.
Response
\JViewLegacy|nullView object on success; null or error result on failure.
display
Typical view method for MVC based architecture
display(bool cachable = false, array urlparams = array()) : \JControllerLegacy
This function is provide as a default implementation, in most cases you will need to override it in your own controllers.
| since |
3.0 |
|---|
Arguments
- cachable
boolIf true, the view output will be cached- urlparams
arrayAn array of safe URL parameters and their variable types, for valid values see {@link \JFilterInput::clean()}.
Response
\JControllerLegacyA \JControllerLegacy object to support chaining.
edit
Method to edit an existing record.
edit(string key = null, string urlVar = null) : bool
| since |
1.6 |
|---|
Arguments
- key
stringThe name of the primary key of the URL variable.- urlVar
stringThe name of the URL variable if different from the primary key (sometimes required to avoid router collisions).
Response
boolTrue if access level check and checkout passes, false otherwise.
editAssociations
Load item to edit associations in com_associations
editAssociations() : void
| since |
3.9.0 |
|---|---|
| deprecated |
5.0 It is handled by regular save method now. |
execute
Execute a task by triggering a method in the derived class.
execute(string task) : mixed
| since |
3.0 |
|---|---|
| throws |
|
Arguments
- task
stringThe task to perform. If no matching task is found, the '__default' task is executed, if defined.
Response
mixedThe value returned by the called method.
getInstance
Method to get a singleton controller instance.
getInstance(string prefix, array config = array()) : \JControllerLegacy
| since |
3.0 |
|---|---|
| throws |
|
Arguments
- prefix
stringThe prefix for the controller.- config
arrayAn array of optional constructor options.
Response
\JControllerLegacy
getModel
Method to get a model object, loading it if required.
getModel(string name = '', string prefix = '', array config = array()) : \JModelLegacy|bool
| since |
3.0 |
|---|
Arguments
- name
stringThe model name. Optional.- prefix
stringThe class prefix. Optional.- config
arrayConfiguration array for model. Optional.
Response
\JModelLegacy|boolModel object on success; otherwise false on failure.
getName
Method to get the controller name
getName() : string
The dispatcher name is set by default parsed using the classname, or it can be set by passing a $config['name'] in the class constructor
| since |
3.0 |
|---|---|
| throws |
|
Response
stringThe name of the dispatcher
getRedirectToItemAppend
Gets the URL arguments to append to an item redirect.
getRedirectToItemAppend(int recordId = null, string urlVar = 'id') : string
| since |
1.6 |
|---|
Arguments
- recordId
intThe primary key id for the item.- urlVar
stringThe name of the URL variable for the id.
Response
stringThe arguments to append to the redirect URL.
getRedirectToListAppend
Gets the URL arguments to append to a list redirect.
getRedirectToListAppend() : string
| since |
1.6 |
|---|
Response
stringThe arguments to append to the redirect URL.
getTask
Get the last task that is being performed or was most recently performed.
getTask() : string
| since |
3.0 |
|---|
Response
stringThe task that is being performed or was most recently performed.
getTasks
Gets the available tasks in the controller.
getTasks() : array
| since |
3.0 |
|---|
Response
arrayArray[i] of task names.
getView
Method to get a reference to the current view and load it if necessary.
getView(string name = '', string type = '', string prefix = '', array config = array()) : \JViewLegacy
| since |
3.0 |
|---|---|
| throws |
|
Arguments
- name
stringThe view name. Optional, defaults to the controller name.- type
stringThe view type. Optional.- prefix
stringThe class prefix. Optional.- config
arrayConfiguration array for view. Optional.
Response
\JViewLegacyReference to the view or an error.
holdEditId
Method to add a record ID to the edit list.
holdEditId(string context, int id) : void
| since |
3.0 |
|---|
Arguments
- context
stringThe context for the session storage.- id
intThe ID of the record to add to the edit list.
loadhistory
Method to load a row from version history
loadhistory() : mixed
| since |
3.2 |
|---|
Response
mixedTrue if the record can be added, an error object if not.
postSaveHook
Function that allows child controller access to model data after the data has been saved.
postSaveHook(\JModelLegacy model, array validData = array()) : void
| since |
1.6 |
|---|
Arguments
- model
\JModelLegacyThe data model object.- validData
arrayThe validated data.
redirect
Redirects the browser or returns false if no redirect is set.
redirect() : bool
| since |
3.0 |
|---|
Response
boolFalse if no redirect exists.
registerDefaultTask
Register the default task to perform if a mapping is not found.
registerDefaultTask(string method) : \JControllerLegacy
| since |
3.0 |
|---|
Arguments
- method
stringThe name of the method in the derived class to perform if a named task is not found.
Response
\JControllerLegacyA \JControllerLegacy object to support chaining.
registerTask
Register (map) a task to a method in the class.
registerTask(string task, string method) : \JControllerLegacy
| since |
3.0 |
|---|
Arguments
- task
stringThe task.- method
stringThe name of the method in the derived class to perform for this task.
Response
\JControllerLegacyA \JControllerLegacy object to support chaining.
releaseEditId
Method to check whether an ID is in the edit list.
releaseEditId(string context, int id) : void
| since |
3.0 |
|---|
Arguments
- context
stringThe context for the session storage.- id
intThe ID of the record to add to the edit list.
reload
Method to reload a record.
reload(string key = null, string urlVar = null) : void
| since |
3.7.4 |
|---|
Arguments
- key
stringThe name of the primary key of the URL variable.- urlVar
stringThe name of the URL variable if different from the primary key (sometimes required to avoid router collisions).
save
Method to save a record.
save(string key = null, string urlVar = null) : bool
| since |
1.6 |
|---|
Arguments
- key
stringThe name of the primary key of the URL variable.- urlVar
stringThe name of the URL variable if different from the primary key (sometimes required to avoid router collisions).
Response
boolTrue if successful, false otherwise.
setMessage
Sets the internal message that is passed with a redirect
setMessage(string text, string type = 'message') : string
| since |
3.0 |
|---|
Arguments
- text
stringMessage to display on redirect.- type
stringMessage type. Optional, defaults to 'message'.
Response
stringPrevious message
setPath
Sets an entire array of search paths for resources.
setPath(string type, string path) : void
| since |
3.0 |
|---|
Arguments
- type
stringThe type of path to set, typically 'view' or 'model'.- path
stringThe new set of search paths. If null or false, resets to the current directory only.
setRedirect
Set a URL for browser redirection.
setRedirect(string url, string msg = null, string type = null) : \JControllerLegacy
| since |
3.0 |
|---|
Arguments
- url
stringURL to redirect to.- msg
stringMessage to display on redirect. Optional, defaults to value set internally by controller, if any.- type
stringMessage type. Optional, defaults to 'message' or the type set by a previous call to setMessage.
Response
\JControllerLegacyThis object to support chaining.
unregisterTask
Unregister (unmap) a task in the class.
unregisterTask(string task) : \JControllerLegacy
| since |
3.0 |
|---|
Arguments
- task
stringThe task.
Response
\JControllerLegacyThis object to support chaining.
Properties
context
The context for storing internal data, e.g. record.
| since |
1.6 |
|---|
Type(s)
string
option
The URL option for the component.
| since |
1.6 |
|---|
Type(s)
string
view_item
The URL view item variable.
| since |
1.6 |
|---|
Type(s)
string
view_list
The URL view list variable.
| since |
1.6 |
|---|
Type(s)
string
text_prefix
The prefix to use with controller messages.
| since |
1.6 |
|---|
Type(s)
string
basePath
The base path of the controller
| since |
3.0 |
|---|
Type(s)
string
default_view
The default view for the display method.
| since |
3.0 |
|---|
Type(s)
string
doTask
The mapped task that was performed.
| since |
3.0 |
|---|
Type(s)
string
message
Redirect message.
| since |
3.0 |
|---|
Type(s)
string
messageType
Redirect message type.
| since |
3.0 |
|---|
Type(s)
string
methods
Array of class methods
| since |
3.0 |
|---|
Type(s)
array
name
The name of the controller
| since |
3.0 |
|---|
Type(s)
array
model_prefix
The prefix of the models
| since |
3.0 |
|---|
Type(s)
string
paths
The set of search directories for resources (views).
| since |
3.0 |
|---|
Type(s)
array
redirect
URL for redirection.
| since |
3.0 |
|---|
Type(s)
string
task
Current or most recently performed task.
| since |
3.0 |
|---|
Type(s)
string
taskMap
Array of class methods to call for a given task.
| since |
3.0 |
|---|
Type(s)
array
input
Hold a JInput object for easier access to the input variables.
| since |
3.0 |
|---|
Type(s)
\JInput
factory
The factory.
| since |
3.10.0 |
|---|
Type(s)
\Joomla\CMS\MVC\Factory\MVCFactoryInterface
instance
Instance container.
| since |
3.0 |
|---|
Type(s)
\JControllerLegacy
views
Instance container containing the views.
| since |
3.4 |
|---|
Type(s)
\JViewLegacy[]