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) : 

1.7

参数

model

BaseDatabaseModel正在处理的组件的模型。

响应

bool如果成功,则为真;否则为假,并设置内部错误。

cancel

取消编辑的方法。

cancel( key = null) : 

1.6

参数

key

stringURL 变量的主键名。

响应

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

Exception

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

Exception

参数

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

Exception

参数

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

stringURL 变量的主键名。

urlVar

stringURL 变量的名称,如果与主键不同(有时需要避免路由冲突)。

响应

bool如果访问级别检查和结账通过,则为真;否则为假。

editAssociations

加载项目以在 com_associations 中编辑关联

editAssociations() : 
已弃用

3.9.0

已弃用

4.3 将在 6.0 中删除 它现在由常规保存方法处理。

响应

void

execute

通过触发派生类中的方法来执行任务。

execute( task) : 
继承

3.0

throws

Exception

参数

task

string要执行的任务。如果找不到匹配的任务,则执行 '__default' 任务(如果已定义)。

响应

mixed调用的方法返回的值。

getDispatcher

获取事件调度程序。

getDispatcher() : \Joomla\Event\DispatcherInterface
继承

重写是为了保持对遗留组件的向后兼容性。TODO:在 6.0 中删除重写

4.4.0

throws

UnexpectedValueException如果未设置调度程序,则可能会被抛出。

响应

DispatcherInterface

getFormFactory

获取 FormFactoryInterface。

getFormFactory() : \Joomla\CMS\Form\FormFactoryInterface
继承

4.0.0

throws

UnexpectedValueException如果未设置 FormFactory,则可能会被抛出。

响应

FormFactoryInterface

getInstance

获取单例控制器实例的方法。

getInstance( prefix, mixed||string|int config = []) : 
继承 静态 已弃用

3.0

已弃用

4.3 将在 6.0 中删除 通过 MVCFactory 获取控制器而不是通过。示例:Factory::getApplication()->bootComponent($option)->getMVCFactory()->createController(...);

throws

Exception如果无法加载控制器。

参数

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>模型的配置数组。可选。

响应

BaseDatabaseModel模型。

getName

获取控制器名称的方法

getName() : 
继承

调度程序名称默认情况下由类名解析设置,或者可以通过在类构造函数中传递 $config['name'] 来设置

3.0

throws

Exception

响应

string调度程序的名称

getRedirectToItemAppend

获取要附加到项目重定向的 URL 参数。

getRedirectToItemAppend( recordId = null,  urlVar = 'id') : 

1.6

参数

recordId

int项目的 primary key id。

urlVar

stringid 的 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

Exception

参数

name

string视图名称。可选,默认为控制器名称。

type

string视图类型。可选。

prefix

string类前缀。可选。

config

array<string|int, mixed>视图的配置数组。可选。

响应

ViewInterface对视图的引用或错误。

holdEditId

将记录 ID 添加到编辑列表的方法。

holdEditId( context,  id) : 
继承

3.0

throws

Exception

参数

context

string用于会话存储的上下文。

id

int要添加到编辑列表中的记录的 ID。

响应

void

postSaveHook

允许子控制器在数据保存后访问模型数据的功能。

postSaveHook(\Joomla\CMS\MVC\Model\BaseDatabaseModel model, mixed||string|int validData = []) : 

1.6

参数

model

BaseDatabaseModel数据模型对象。

validData

array<string|int, mixed>验证后的数据。

响应

void

prepareViewModel

设置视图模型的方法

prepareViewModel(\Joomla\CMS\MVC\View\ViewInterface view) : 
继承

此函数提供了一个默认实现,并且只在视图中设置了一个模型(与视图具有相同前缀/后缀的模型)。如果您想为您的视图设置多个模型,您需要在您的 DisplayController 控制器中覆盖它。

5.0.0

参数

view

ViewInterface视图对象

响应

void

redirect

重定向浏览器,如果未设置重定向,则返回 false。

redirect() : 
继承

3.0

throws

Exception

响应

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

Exception

参数

context

string用于会话存储的上下文。

id

int要添加到编辑列表中的记录的 ID。

响应

void

reload

重新加载记录的方法。

reload( key = null,  urlVar = null) : 

3.7.4

参数

key

stringURL 变量的主键名。

urlVar

stringURL 变量的名称,如果与主键不同(有时需要避免路由冲突)。

响应

void

save

保存记录的方法。

save( key = null,  urlVar = null) : 

1.6

参数

key

stringURL 变量的主键名。

urlVar

stringURL 变量的名称,如果与主键不同(有时需要避免路由冲突)。

响应

bool如果成功,则为 true,否则为 false。

setFormFactory

设置要使用的表单工厂。

setFormFactory(\Joomla\CMS\Form\FormFactoryInterface formFactory = null) : 
继承

4.0.0

参数

formFactory

FormFactoryInterface|null要使用的表单工厂。

响应

$this

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

factory

工厂。

继承

3.10.0

类型

MVCFactoryInterface

instance

实例容器。

继承 静态

3.0

类型

static

views

包含视图的实例容器。

继承 静态

3.4

类型

array<string|int, ViewInterface>

app

应用程序。重新声明以显示此类需要 Web 应用程序。

5.0.0

类型

CMSWebApplicationInterface

formFactory

FormFactoryInterface

继承

4.0.0

类型

FormFactoryInterface

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