问题:
二开时遇到$myfield变量,一直找不到头绪,在大神指点下终于找到破解之法
首先看这个myfield是怎么生成的,找到定义函数:
$myfield = $this->field_input($field, $data, FALSE, 'id'); // 这个函数用于生产自定义字段列表, $field 是自定义字段配置 $data 是对应字段的值,存在值就填充 false 这个我还没有研究出来,默认就false吧 id 是你的这个表的主键,如果是会员表就改成uid,也就是你的自增字段名字
$field 如何配置,这个是关键,如果在模块里面的话,系统自动调用了模块自定义字段,就不需要单独配置了,我在二开的时候基本是自己定义field变量,示例代码如下:
$field = array( 'name' => array( 'name' => fc_lang('姓名'), 'ismain' => 0, 'ismember' => 1, 'fieldname' => 'name', 'fieldtype' => 'Text', 'setting' => array( 'option' => array( 'width' => 200, ), 'validate' => array( 'xss' => 1, 'required' => 1, ) ) ), 'phone' => array( 'name' => fc_lang('手机号码'), 'ismain' => 0, 'ismember' => 1, 'fieldname' => 'phone', 'fieldtype' => 'Text', 'setting' => array( 'option' => array( 'width' => 200, ), 'validate' => array( 'xss' => 1, 'required' => 1, ) ) ), ); $myfield = $this->field_input($field, $data, FALSE, 'id');
用了两个字段,上面定义的是文本字段,输出变量$myfield就可以看到结果了
答案:
多此一举 改系统文件 不是好做法。 升级的话 照样会去覆盖掉。
官方已经设计了 手动去调用了
此言差矣,我这个是二开,也就是不走后台自定义字段,我在新建的控制器设置自定义字段
【九天网络(JiuDay)】1楼
学习