当前位置: 首页 > news >正文

如何查询网站空间商网络推广员

如何查询网站空间商,网络推广员,wordpress流量统计代码,西安seo外包机构前言 后端有多角色时, 往往有些表格中的列需要根据条件来根据角色身份决定是不是需要该角色查看, 为此就衍生出一个需要动态控制展示某列的需求fastadmin框架内调用的table实际上在初始化时, 可以修改columns中的visible属性来控制是否显示, 但是这个参数只能传入bool, 不能像…

前言

  1. 后端有多角色时, 往往有些表格中的列需要根据条件来根据角色身份决定是不是需要该角色查看, 为此就衍生出一个需要动态控制展示某列的需求
  2. fastadmin框架内调用的table实际上在初始化时, 可以修改columns中的visible属性来控制是否显示, 但是这个参数只能传入bool, 不能像其它属性一样传入function来根据计算得出
  3. 最初的解决方案是通过后端控制器方法$this->assignconfig(name,value)来给JS使用, JS使用Config.name来根据结果来控制, 但是并不完美, 因为此时的通用搜索栏也需要跟着修改展示或者隐藏, 并不算统一, 也不够灵活
  4. 再之后想到动态的去隐藏列, 在js中监听表格的事件, 在初始化完成后, 去动态的调用table提供的接口来隐藏某列, 但是也一样, 并不完美

使用后端来动态控制输出column, 前端初始化表格时合并后端传来的数组

  1. 需要先将js中初始化table时的columns变量提取出来使用新的变量存储
  2. 在后端控制器中, 根据自己的条件, 来决定输出的column内容, 后端可直接使用二维数组即可, 因为在使用assignconfig方法后会自动给到js一个对象使用
  3. 前端可使用Config.name来接收后端使用$this->assignconfig(name,value)方法输出的变量.
  4. 此时需要注意一个问题, 后端的数组编写时, 一些属性是必须使用字符串的, 但是实际上前端使用时传入的是一个function, 如果不做处理就会js报错
  5. 我们要做的就是遍历后端给的数组来将本应是function的变量给恢复为正确的内容, 比如其中的events,formatter,都必须是个function
  6. 格式处理正确后, 即可合并到原js中的columns中, 或者也可选择使用splice方法插入到指定列后也是推荐的.
  7. 这样处理后的效果就接近完美, 实现了将某些列在后端动态控制, 同时前端的搜索框等也就能同步的展示或者隐藏了. 跟自由, 更灵活, 对于后端开发更友好

实例代码

PHP
$addColumns = [];
if($this->auth->isSuperAdmin()){$addColumns = [["field" => 'merchant.title',"title" => __('Merchant.title'),"operate" => "LIKE","table" => "table","class" => "autocontent","visible" => true],["field" => 'merchant.avatar',"title" => __('Merchant.avatar'),"operate" => false,"table" => "table","events" => 'Table.api.events.image',"formatter" => 'Table.api.formatter.image',"class" => "autocontent","visible" => true],["field" => 'merchant.address',"title" => __('Merchant.address'),"operate" => false,"table" => "table","class" => "autocontent","visible" => true],];
}$this->assignconfig('addColumns',$addColumns);
JavaScript
var table = $("#table");var columns = [[{checkbox: true},{field: 'id', title: __('Id')},{field: 'merchant_id', title: __('Merchant_id'),visible:false,operate:false},{field: 'goods_category_id', title: __('Goods_category_id'),visible:false,operate:false},{field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},{field: 'category.title', title: __('Category.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},{field: 'link', title: __('Link'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.url},{field: 'img', title: __('Img'), operate: false, table: table, class: 'autocontent',events: Table.api.events.image, formatter: Table.api.formatter.image},{field: 'price', title: __('Price'), operate:'BETWEEN'},{field: 'earn', title: __('Earn'), operate:'BETWEEN'},{field: 'saled', title: __('Saled'), operate:false,visible:false},{field: 'stock', title: __('Stock'),operate:false,visible:false},{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.toggle},{field: 'createtime',visible:false, title: __('Createtime'), operate:false, addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},{field: 'weigh', title: __('Weigh'), operate: false, visible:false},{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}]
]// 从后端动态的插入列
let addColumns = Config.addColumns;
addColumns.forEach(element => {if(element.events){let tmpEvents = eval(element.events)element.events = tmpEvents}if(element.formatter){let tmpFormatter = eval(element.formatter)element.formatter = tmpFormatter}
});
columns[0].splice(13,0,...addColumns);// 初始化表格
table.bootstrapTable({url: $.fn.bootstrapTable.defaults.extend.index_url,pk: 'id',sortName: 'weigh',fixedColumns: true,fixedRightNumber: 1,columns: columns
});// 为表格绑定事件
Table.api.bindevent(table);
http://www.hkea.cn/news/405842/

相关文章:

  • 企业网站建设公司排名深圳高端seo公司助力企业
  • 做网站套餐网站seo
  • 网站上的代码网页怎么做的下载百度软件
  • 网站功能模块建设搜狗推广
  • 网站做推广有用吗网站页面设计
  • 做简报的网站广州搜发网络科技有限公司
  • 南乐县住房和城乡建设局网站制作网站的步骤是什么
  • 金华做网站最专业的公司搜易网提供的技术服务
  • wordpress适合门户网站吗怎么营销自己的产品
  • 常用的网站类型有哪些seo优化专员编辑
  • 网站专题框架怎么做海阳seo排名
  • 手机网站代码下载黄页网站推广服务
  • 做网站前端多少钱在线bt种子
  • wordpress+模版+推荐专业网站seo推广
  • 浦项建设公司员工网站2023免费推广入口
  • 如何查询某个网站的设计公司最新推广注册app拿佣金
  • 八宝山做网站公司打广告
  • wordpress vip查看插件南宁seo费用服务
  • 建站之星模板怎么设置手机如何做网站
  • 上海公司网站制作价格西安百度关键词排名服务
  • 长沙网页制作开发公司aso优化方案
  • 深圳罗湖网站制作成人电脑基础培训班
  • 无锡网站制作咨询深圳网站设计十年乐云seo
  • 大连城市建设网站seo优化顾问服务阿亮
  • 福州 网站建设沈阳seo关键词排名优化软件
  • 做网站还要买服务器吗镇江seo
  • 专门做特价的网站优化排名案例
  • 网站建设的一些问题友链交易交易平台
  • 创业初期要建立公司的网站吗seo排名优化代理
  • 做网站全屏尺寸是多少钱站长工具查询系统