组件开发
约 396 字大约 1 分钟
2025-06-20
重要
组件目录在component\
目录下,元素组件目录在component\element\
目录下,事件组件目录在component\event\
目录下,挂件组件目录在component\widget\
目录下,扩展组件目录在component\extend\
目录下。每个组件都需要一个描述文件describe.php
和logo文件logo.png
表单元素
目录结构
…
component//组件目录
element//元素组件
input// 具体组件,以input为例
controller//控制器文件夹
Index.php//控制器类
...
static//静态文件
…
template//模板文件
…
describe.php//描述文件
logo.png//logo文件
config.ini//配置文件
…
描述文件
describe.php
return [
'title' => '组件名称',
'version' => '1.0.0', //版本号
'desc' => '',
'source' => 1, //是否需要数据源 一般需要数据源绑定的控件
'wx' => '微信',
'email' => 'Email:邮箱@163.com',
'qq' => 'QQ号',
'url' => '//framecoder.rovecoder.com/app_cms_page/12/3', //介绍页地址
'upgrade' => 'http://frameupgrade.rovecoder.com/plugin/upgrade/cms.txt' //在线升级地址
];
控制器
控制器文件夹下必须包含Index.php
和index
方法,用来渲染模板,并且继承core\component\ElementBase
类。
Index.php
class Index extends \core\component\ElementBase
{
public function index(...$param)
{
return $this->view($param);
}
}
元素控制器提交路径/element/元素名/控制器名/方法名
,token
安全令牌
/element/aieditor/Index/upload?token=<?php echo element_safe_token(); ?>'
模板
模板渲染: return $this->view();
显示元素
提示
如何在页面中显示元素?
element('元素名',name:'name',id:'id',value:'value',source:'source');//后面追加其他参数,根据各个元素要求