php 自定义id,迅睿CMS 插件自定义字段类别

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

在插件中加入自定义类别的扩展,如下图所示:

325d55d22f41e84f9b80555abe35d0cb.png

官方实例插件:https://www.xunruicms.com/shop/app/708.html

以Demo插件目录为例,实现步骤:

1、创建字段配置文件dayrui/App/Demo/Fields/Field.php

<?php /** * 可用字段 * id 插件目录名::文件名称 * name 显示名称 */return [ [ 'id' => 'Demo::Textarea', // 插件目录名::文件名称 'name' => '测试文本编辑器', ],];

2、创建字段解析文件dayrui/App/Demo/Fields/Textarea.php 文件命名与上面保持一致

<?php namespace My\Field\Demo; // demo是插件目录class Textarea extends \Phpcmf\Library\A_Field { /** * 构造函数 */ public function __construct(...$params) { parent::__construct(...$params); $this->fieldtype = TRUE; $this->defaulttype = 'TEXT'; // 默认显示的类型 } /** * 字段相关属性参数 */ public function option($option) { return [ $this->field_type($option['fieldtype'], $option['fieldlength']), '' ]; } /** * 字段显示 */ public function show($field, $value = null) { $html = '

'.nl2br(htmlentities($value)).'
'; return $this->input_format($field['fieldname'], $field['name'], $html); } /** * 字段表单输入 */ public function input($field, $value = '') { // 字段禁止修改时就返回显示字符串 if ($this->_not_edit($field, $value)) { return $this->show($field, $value); } // 字段存储名称 $name = $field['fieldname']; // 字段显示名称 $text = ($field['setting']['validate']['required'] ? ' * ' : '').dr_lang($field['name']); // 表单附加参数 $attr = $field['setting']['validate']['formattr']; // 字段提示信息 $tips = $field['setting']['validate']['tips'] ? ' '.$field['setting']['validate']['tips'].'' : ''; // 表单高度设置 $height = $field['setting']['option']['height'] ? $field['setting']['option']['height'] : '100'; // 字段默认值 $value = strlen($value) ? $value : $this->get_default_value($field['setting']['option']['value']); $str = ''.$value.''; return $this->input_format($name, $text, $str.$tips); }}

这里的逻辑结构可以由开发者自由开发,例子以textarea为例。

4、然后在任意地方创建字段,可以选择本字段类别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值