FormController
扩展 BaseController 实现 FormFactoryAwareInterface为大多数基于表单的管理操作量身定制的控制器。
自 |
1.6 |
---|---|
待办事项 |
添加能够手动设置重定向以更好地应对前端使用的情况。 |
包 |
Joomla CMS |
方法
__construct
构造函数。
__construct(mixed||string|int config = [], \Joomla\CMS\MVC\Factory\MVCFactoryInterface factory = null, \Joomla\CMS\Application\CMSWebApplicationInterface app = null, \Joomla\Input\Input input = null, \Joomla\CMS\Form\FormFactoryInterface formFactory = null) :
自 |
3.0 |
---|
参数
- config
array<string|int, mixed>
一个可选的关联数组,用于配置设置。识别的键值包括 'name'、'default_task'、'model_path' 和 'view_path'(此列表并非意味着全面)。- factory
MVCFactoryInterface|null
工厂。- app
CMSWebApplicationInterface|null
用于调度程序的应用程序- input
Input|null
输入- formFactory
FormFactoryInterface|null
表单工厂。
响应
混合
add
添加新记录的方法。
add() :
自 |
1.6 |
---|
响应
bool
如果可以添加记录,则为真;否则为假。
addModelPath
以 LIFO 顺序添加到模型路径的堆栈中。
addModelPath( path, prefix = '') :
自 |
3.0 |
---|---|
已弃用 |
4.3 将在 6.0 中删除 将被删除,不会被替代。通过 MVCFactory 获取模型而不是通过。 |
参数
- path
mixed
要添加的目录(字符串)或目录列表(数组)。- prefix
string
模型的前缀
响应
void
addPath
添加到模板和资源的搜索路径。
addPath( type, path) :
自 |
3.0 |
---|
参数
- type
string
路径类型(例如 'model'、'view')。- path
mixed
要搜索的目录字符串或流数组。
响应
static
用于支持链式的 BaseController 对象。
addViewPath
以 LIFO 顺序将一个或多个视图路径添加到控制器的堆栈中。
addViewPath( path) :
自 |
3.0 |
---|
参数
- path
mixed
要添加的目录(字符串)或目录列表(数组)。
响应
static
用于支持链式的此对象。
allowAdd
检查您是否可以添加新记录的方法。
allowAdd(mixed||string|int data = []) :
扩展类可以在必要时重写此方法。
自 |
1.6 |
---|
参数
- data
array<string|int, mixed>
输入数据的数组。
响应
bool
allowEdit
检查您是否可以编辑现有记录的方法。
allowEdit(mixed||string|int data = [], key = 'id') :
扩展类可以在必要时重写此方法。
自 |
1.6 |
---|
参数
- data
array<string|int, mixed>
输入数据的数组。- key
string
主键的键名;默认值为 id。
响应
bool
allowSave
检查您是否可以保存新记录或现有记录的方法。
allowSave(mixed||string|int data, key = 'id') :
扩展类可以在必要时重写此方法。
自 |
1.6 |
---|
参数
- data
array<string|int, mixed>
输入数据的数组。- key
string
主键的键名。
响应
bool
batch
执行批处理操作的方法。
batch(\Joomla\CMS\MVC\Model\BaseDatabaseModel model) :
cancel
取消编辑的方法。
cancel( key = null) :
自 |
1.6 |
---|
参数
- key
string
URL 变量的主键名。
响应
bool
如果访问级别检查通过,则为真;否则为假。
checkEditId
检查 ID 是否在编辑列表中的方法。
checkEditId( context, id) :
自 |
3.0 |
---|
参数
- context
string
用于会话存储的上下文。- id
int
要添加到编辑列表中的记录的 ID。
响应
bool
如果 ID 在编辑列表中,则为真。
checkToken
检查请求中是否存在表单令牌。
checkToken( method = 'post', redirect = true) :
与 HTMLHelper::_('form.token') 或 Session::getFormToken 结合使用。
自 |
3.7.0 |
---|---|
throws |
|
see | Session::checkToken() |
参数
- method
string
要查找令牌键的请求方法。- redirect
bool
是否在失败时隐式将用户重定向到引用页,或者只返回 false。
响应
bool
如果找到并且有效,则为真;否则返回 false 或重定向到引用页。
createFileName
为资源创建文件名。
createFileName( type, mixed||string|int parts = []) :
自 |
3.0 |
---|
参数
- type
string
要为其创建文件名的资源类型。- parts
array<string|int, mixed>
一个包含文件名信息的关联数组。可选。
响应
string
文件名。
createModel
加载并返回模型对象的方法。
createModel( name, prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\Model\BaseDatabaseModel|bool
自 |
3.0 |
---|
参数
- name
string
模型的名称。- prefix
string
可选的模型前缀。- config
array<string|int, mixed>
模型的配置数组。可选。
响应
BaseDatabaseModel|bool
成功时的模型对象;否则在失败时为 false。
createView
加载并返回视图对象的方法。此方法首先在当前模板目录中查找匹配项,如果找不到,则使用默认的设置路径加载视图类文件。
createView( name, prefix = '', type = '', mixed||string|int config = []) : \Joomla\CMS\MVC\View\ViewInterface|null
请注意参数的 "name, prefix, type" 顺序,它与相关公共方法中使用的 "name, type, prefix" 顺序不同。
自 |
3.0 |
---|---|
throws |
|
参数
- name
string
视图的名称。- prefix
string
视图类名的可选前缀。- type
string
视图的类型。- config
array<string|int, mixed>
视图的配置数组。可选。
响应
ViewInterface|null
成功时的视图对象;失败时为 null 或错误结果。
display
基于 MVC 架构的典型视图方法
display( cachable = false, mixed||string|int urlparams = []) :
此函数提供作为默认实现,在大多数情况下,您需要在自己的控制器中重写它。
自 |
3.0 |
---|---|
throws |
|
参数
- cachable
bool
如果为真,则视图输出将被缓存- urlparams
array<string|int, mixed>
安全的 URL 参数及其变量类型的数组。@see \Joomla\CMS\Filter\InputFilter::clean() 获取有效值。
响应
static
用于支持链式的 \JControllerLegacy 对象。
edit
编辑现有记录的方法。
edit( key = null, urlVar = null) :
自 |
1.6 |
---|
参数
- key
string
URL 变量的主键名。- urlVar
string
URL 变量的名称,如果与主键不同(有时需要避免路由冲突)。
响应
bool
如果访问级别检查和结账通过,则为真;否则为假。
editAssociations
加载项目以在 com_associations 中编辑关联
editAssociations() :
自 |
3.9.0 |
---|---|
已弃用 |
4.3 将在 6.0 中删除 它现在由常规保存方法处理。 |
响应
void
execute
通过触发派生类中的方法来执行任务。
execute( task) :
自 |
3.0 |
---|---|
throws |
|
参数
- task
string
要执行的任务。如果找不到匹配的任务,则执行 '__default' 任务(如果已定义)。
响应
mixed
调用的方法返回的值。
getDispatcher
获取事件调度程序。
getDispatcher() : \Joomla\Event\DispatcherInterface
重写是为了保持对遗留组件的向后兼容性。TODO:在 6.0 中删除重写
自 |
4.4.0 |
---|---|
throws |
|
响应
DispatcherInterface
getFormFactory
获取 FormFactoryInterface。
getFormFactory() : \Joomla\CMS\Form\FormFactoryInterface
getInstance
获取单例控制器实例的方法。
getInstance( prefix, mixed||string|int config = []) :
自 |
3.0 |
---|---|
已弃用 |
4.3 将在 6.0 中删除 通过 MVCFactory 获取控制器而不是通过。示例:Factory::getApplication()->bootComponent($option)->getMVCFactory()->createController(...); |
throws |
|
参数
- prefix
string
控制器的前缀。- config
array<string|int, mixed>
一个包含可选的构造函数选项的数组。
响应
static
getLogger
获取记录器。
getLogger() : \Psr\Log\LoggerInterface
自 |
5.0.0 |
---|
响应
LoggerInterface
getModel
获取模型对象的方法,如果需要,则加载它。
getModel( name = '', prefix = '', mixed||string|int config = ['ignore_request' => true]) : \Joomla\CMS\MVC\Model\BaseDatabaseModel
自 |
1.6 |
---|
参数
- name
string
模型名称。可选。- prefix
string
类前缀。可选。- config
array<string|int, mixed>
模型的配置数组。可选。
响应
getName
获取控制器名称的方法
getName() :
调度程序名称默认情况下由类名解析设置,或者可以通过在类构造函数中传递 $config['name'] 来设置
自 |
3.0 |
---|---|
throws |
|
响应
string
调度程序的名称
getRedirectToItemAppend
获取要附加到项目重定向的 URL 参数。
getRedirectToItemAppend( recordId = null, urlVar = 'id') :
自 |
1.6 |
---|
参数
- recordId
int
项目的 primary key id。- urlVar
string
id 的 URL 变量名称。
响应
string
要附加到重定向 URL 的参数。
getRedirectToListAppend
获取要附加到列表重定向的 URL 参数。
getRedirectToListAppend() :
自 |
1.6 |
---|
响应
string
要附加到重定向 URL 的参数。
getTask
获取正在执行或最近执行的最后一个任务。
getTask() :
自 |
3.0 |
---|
响应
string
正在执行或最近执行的任务。
getTasks
获取控制器中可用的任务。
getTasks() : mixed||string|int
自 |
3.0 |
---|
响应
array<string|int, mixed>
任务名称数组[i]。
getView
获取对当前视图的引用,并在必要时加载它。
getView( name = '', type = '', prefix = '', mixed||string|int config = []) : \Joomla\CMS\MVC\View\ViewInterface
自 |
3.0 |
---|---|
throws |
|
参数
- name
string
视图名称。可选,默认为控制器名称。- type
string
视图类型。可选。- prefix
string
类前缀。可选。- config
array<string|int, mixed>
视图的配置数组。可选。
响应
ViewInterface
对视图的引用或错误。
holdEditId
将记录 ID 添加到编辑列表的方法。
holdEditId( context, id) :
自 |
3.0 |
---|---|
throws |
|
参数
- context
string
用于会话存储的上下文。- id
int
要添加到编辑列表中的记录的 ID。
响应
void
postSaveHook
允许子控制器在数据保存后访问模型数据的功能。
postSaveHook(\Joomla\CMS\MVC\Model\BaseDatabaseModel model, mixed||string|int validData = []) :
prepareViewModel
设置视图模型的方法
prepareViewModel(\Joomla\CMS\MVC\View\ViewInterface view) :
此函数提供了一个默认实现,并且只在视图中设置了一个模型(与视图具有相同前缀/后缀的模型)。如果您想为您的视图设置多个模型,您需要在您的 DisplayController 控制器中覆盖它。
自 |
5.0.0 |
---|
参数
- view
ViewInterface
视图对象
响应
void
redirect
重定向浏览器,如果未设置重定向,则返回 false。
redirect() :
自 |
3.0 |
---|---|
throws |
|
响应
bool
如果不存在重定向,则为 false。
registerDefaultTask
注册在未找到映射时要执行的默认任务。
registerDefaultTask( method) :
自 |
3.0 |
---|
参数
- method
string
如果未找到命名任务,则要执行的派生类中的方法名称。
响应
static
用于支持链式的 \JControllerLegacy 对象。
registerTask
注册(映射)一个任务到类中的方法。
registerTask( task, method) :
自 |
3.0 |
---|
参数
- task
string
任务。- method
string
派生类中要执行此任务的方法名称。
响应
static
用于支持链式的 \JControllerLegacy 对象。
releaseEditId
检查 ID 是否在编辑列表中的方法。
releaseEditId( context, id) :
自 |
3.0 |
---|---|
throws |
|
参数
- context
string
用于会话存储的上下文。- id
int
要添加到编辑列表中的记录的 ID。
响应
void
reload
重新加载记录的方法。
reload( key = null, urlVar = null) :
自 |
3.7.4 |
---|
参数
- key
string
URL 变量的主键名。- urlVar
string
URL 变量的名称,如果与主键不同(有时需要避免路由冲突)。
响应
void
save
保存记录的方法。
save( key = null, urlVar = null) :
自 |
1.6 |
---|
参数
- key
string
URL 变量的主键名。- urlVar
string
URL 变量的名称,如果与主键不同(有时需要避免路由冲突)。
响应
bool
如果成功,则为 true,否则为 false。
setFormFactory
设置要使用的表单工厂。
setFormFactory(\Joomla\CMS\Form\FormFactoryInterface formFactory = null) :
setMessage
设置与重定向一起传递的内部消息
setMessage( text, type = 'message') :
自 |
3.0 |
---|
参数
- text
string
要在重定向时显示的消息。- type
string
消息类型。可选,默认为 'message'。
响应
string
以前的留言
setPath
设置资源的完整搜索路径数组。
setPath( type, path) :
自 |
3.0 |
---|
参数
- type
string
要设置的路径类型,通常为 'view' 或 'model'。- path
string
新的搜索路径集。如果为 null 或 false,则重置为仅当前目录。
响应
void
setRedirect
设置浏览器重定向的 URL。
setRedirect( url, msg = null, type = null) :
自 |
3.0 |
---|
参数
- url
string
要重定向到的 URL。- msg
string
要在重定向时显示的消息。可选,默认为控制器内部设置的值(如果有)。- type
string
消息类型。可选,默认为 'message' 或先前调用 setMessage 设置的类型。
响应
static
用于支持链式的此对象。
unregisterTask
取消注册(取消映射)类中的任务。
unregisterTask( task) :
自 |
3.0 |
---|
参数
- task
string
任务。
响应
static
用于支持链式的此对象。
属性
basePath
控制器的基本路径
自 |
3.0 |
---|
类型
string
default_view
display 方法的默认视图。
自 |
3.0 |
---|
类型
string
doTask
执行的映射任务。
自 |
3.0 |
---|
类型
string
message
重定向消息。
自 |
3.0 |
---|
类型
string
messageType
重定向消息类型。
自 |
3.0 |
---|
类型
string
methods
类方法数组
自 |
3.0 |
---|
类型
array<string|int, mixed>
name
控制器的名称
自 |
3.0 |
---|
类型
string
model_prefix
模型的前缀
自 |
3.0 |
---|
类型
string
paths
资源(视图)的搜索目录集。
自 |
3.0 |
---|
类型
array<string|int, mixed>
redirect
用于重定向的 URL。
自 |
3.0 |
---|
类型
string
task
当前或最近执行的任务。
自 |
3.0 |
---|
类型
string
taskMap
用于特定任务的要调用的类方法数组。
自 |
3.0 |
---|
类型
array<string|int, mixed>
input
持有 JInput 对象以更轻松地访问输入变量。
自 |
3.0 |
---|
类型
Input
instance
实例容器。
自 |
3.0 |
---|
类型
static
context
用于存储内部数据(例如记录)的上下文。
自 |
1.6 |
---|
类型
string
option
组件的 URL 选项。
自 |
1.6 |
---|
类型
string
view_item
URL 视图项变量。
自 |
1.6 |
---|
类型
string
view_list
URL 视图列表变量。
自 |
1.6 |
---|
类型
string
text_prefix
控制器消息要使用的前缀。
自 |
1.6 |
---|
类型
string