Diy字段指开发者的自定义字段,需要有一定的html或者php编程经验的人使用,二次开发非常实用,下面来介绍它的两种模式。


一、代码模式

代码类型是比较灵活的字段自定义设计方式,它支持模板标签代码的解析,只要懂得html标签语法就能调用出数据,相对于文件类型要弱些,但也能满足大部分人的需求。
以下我们举一个例子,将新闻模块作为数据源,供会员选择标题

1、设计代码,代码格式和模板标签一致,模板怎么写它就怎么写

 -- {module module=news num=10} {$t.title} {/module}
标签说明
{$name} 字段英文名称
{$value} 字段的值
例子使用了调用news模块的10条标题,并存储id

发布效果如下:

QQ20161017-2@2x.png

这种模式比较傻瓜化,只有开发者会使用html或者模板标签即可使用它,例如隐藏域等等也能满足


二、文件模式

文件类型是最灵活的字段自定义设计方式,可供开发者来定义各种类型的自定义字段,只要你能想到,它就可以帮你实现,此方案需要具有一定的PHP基础。
自定义的程序文件位于./config/myfield/*.php

以下我们举一个例子,将新闻模块作为数据源,供会员选择标题

1、设计文件:./config/myfield/test.php

ci 表示控制器方法
 * 表单的name值格式是:data[$name]
 */
$code = ''; // 最终输出的代码
$code = ' -- ';
$data = \Phpcmf\Service::M()->table(SITE_ID.'_news')->get()->getResultArray();
if ($data) {
    foreach ($data as $t) {
        $code.= ' '.$t['title'].' ';
    }
}
$code.= '';

2、在自定义字段中创建Diy字段,选择test.php这个文件即可

3、预览界面和方法一种的差不多

想必开发者已经知道了此字段的功效了,我觉得它是无敌的,堪称史上最强的自定义字段类别,无论多复杂的字段都可以用它实现。

文档最后更新时间:2016-12-11 16:29:27