咨询热线:
88888888
来源 https://www.pboot.cn/article/74.html
这两天接到两个客户需求,在Pb后台文章或者产品列表增加自定义字段显示,方法是相同的。
原理就是model不变,model是为了表关联,搜索的地方也有表关联,控制器controller获取要的数组给html
/apps/admin/controller/content/ContentController.php
找到
// 模型名称
$this->assign('model_name', model('admin.content.Model')->getName($mcode));------大约62行------ 增加下面代码
//特定扩展字段
$all_extfiled = model('admin.content.ExtField')->getModelField($mcode);
$static_extfield = [];
foreach ($all_extfiled as $extfield_key => $extfield_info) {
if(in_array($extfield_info->name, ['ext_price'])){ //['ext_自定义字段']
$static_extfield[] = $extfield_info;
}
}
$this->assign('static_extfield', $static_extfield); //特定ContentController代码,Model中要添加自定义字段 'content_ext.*',
/apps/admin/view/default/content/content.html
找到
后台显示
<th>标题</th>
------大约41行------ 增加下面代码
<!--自定义字段栏目_edit-->
{if(get('mcode')==3)}
{foreach $static_extfield(key,value)}
<th>[value->description]</th>
{/foreach}
{/if}2,找到 77行
{if($value->outlink)}
<span class="layui-badge layui-bg-black">链</span>
{/if}------大约80行------ 增加下面代码
<!--自定义字段内容_edit-->
{if(get('mcode')==3)}
{foreach $static_extfield(field_key,field_value)}
<td> <?php $field_name = $field_value->name; echo $value->$field_name?></td>
{/foreach}
{/if}html代码


如果想在列表处多显示自定义的字段,只需要在ContentController中增加就好。注释特定扩展字段中,在'ext_xqf' 里继续添加,如'ext_xqf','ext_bianhao','ext_dh'记得用小逗号隔开。
修改过的文件: