EditablePage.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. namespace app\common\model;
  3. use think\facade\Db;
  4. /**
  5. * ============================================================================
  6. * DSMall多用户商城
  7. * ============================================================================
  8. * 版权所有 2014-2028 长沙德尚网络科技有限公司,并保留所有权利。
  9. * 网站地址: http://www.csdeshang.com
  10. * ----------------------------------------------------------------------------
  11. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
  12. * 不允许对程序代码以任何形式任何目的的再发布。
  13. * ============================================================================
  14. * 数据层模型
  15. */
  16. class EditablePage extends BaseModel {
  17. public $page_info;
  18. /**
  19. * 新增可编辑页面
  20. * @author csdeshang
  21. * @param array $data 参数内容
  22. * @return bool 布尔类型的返回结果
  23. */
  24. public function addEditablePage($data) {
  25. return Db::name('editable_page')->insertGetId($data);
  26. }
  27. /**
  28. * 删除一个可编辑页面
  29. * @author csdeshang
  30. * @param array $editable_page_id 可编辑页面id
  31. * @return bool 布尔类型的返回结果
  32. */
  33. public function delEditablePage($editable_page_id) {
  34. //删除配置
  35. model('editable_page_config')->delEditablePageConfig(array('editable_page_id'=>$editable_page_id));
  36. return Db::name('editable_page')->where('editable_page_id', $editable_page_id)->delete();
  37. }
  38. /**
  39. * 获取可编辑页面列表
  40. * @author csdeshang
  41. * @param array $condition 查询条件
  42. * @param obj $pagesize 分页页数
  43. * @param str $orderby 排序
  44. * @return array 二维数组
  45. */
  46. public function getEditablePageList($condition = array(), $pagesize = '', $orderby = 'editable_page_id desc') {
  47. if ($pagesize) {
  48. $result = Db::name('editable_page')->where($condition)->order($orderby)->paginate(['list_rows'=>$pagesize,'query' => request()->param()],false);
  49. $this->page_info = $result;
  50. return $result->items();
  51. } else {
  52. return Db::name('editable_page')->where($condition)->order($orderby)->select()->toArray();
  53. }
  54. }
  55. public function getOneEditablePage($condition = array()) {
  56. return Db::name('editable_page')->where($condition)->find();
  57. }
  58. /**
  59. * 更新可编辑页面记录
  60. * @author csdeshang
  61. * @param array $data 更新内容
  62. * @return bool
  63. */
  64. public function editEditablePage($condition, $data) {
  65. return Db::name('editable_page')->where($condition)->update($data);
  66. }
  67. public function getEditablePageConfigByPageId($editable_page_id,$store_id=0) {
  68. $editable_page_config_model=model('editable_page_config');
  69. $editable_page_config_model->store_id=$store_id;
  70. $data=array();
  71. $editable_page_config_list = $editable_page_config_model->getEditablePageConfigList(array('editable_page_id' => $editable_page_id));
  72. foreach ($editable_page_config_list as $key => $val) {
  73. $editable_page_config_list[$key]['editable_page_config_content'] = json_decode($val['editable_page_config_content'], true);
  74. if(isset($editable_page_config_list[$key]['editable_page_config_content']['goods'])){
  75. $editable_page_config_list[$key]['goods_list']=array();
  76. foreach($editable_page_config_list[$key]['editable_page_config_content']['goods'] as $i=> $goods_info){
  77. $editable_page_config_list[$key]['goods_list'][$i]=$editable_page_config_model->getEditablePageConfigGoods($goods_info);
  78. foreach($editable_page_config_list[$key]['goods_list'][$i] as $j => $goods){
  79. $editable_page_config_list[$key]['goods_list'][$i][$j]['goods_image_url']=goods_thumb($goods, 240);
  80. }
  81. }
  82. }
  83. if(isset($editable_page_config_list[$key]['editable_page_config_content']['editor'])){
  84. foreach($editable_page_config_list[$key]['editable_page_config_content']['editor'] as $i=> $editor_info){
  85. $editable_page_config_list[$key]['editable_page_config_content']['editor'][$i]=htmlspecialchars_decode($editor_info);
  86. }
  87. }
  88. if(isset($editable_page_config_list[$key]['editable_page_config_content']['cate'])){
  89. $editable_page_config_list[$key]['cate_list']=array();
  90. foreach($editable_page_config_list[$key]['editable_page_config_content']['cate'] as $i=> $cate_info){
  91. $editable_page_config_list[$key]['cate_list'][$i]=model('editable_page_config')->getEditablePageConfigCate($cate_info,$val['editable_page_model_id']);
  92. }
  93. }
  94. if(isset($editable_page_config_list[$key]['editable_page_config_content']['brand'])){
  95. $editable_page_config_list[$key]['brand_list']=array();
  96. foreach($editable_page_config_list[$key]['editable_page_config_content']['brand'] as $i=> $brand_info){
  97. $editable_page_config_list[$key]['brand_list'][$i]=model('editable_page_config')->getEditablePageConfigBrand($brand_info);
  98. }
  99. }
  100. if(isset($editable_page_config_list[$key]['editable_page_config_content']['link'])){
  101. foreach($editable_page_config_list[$key]['editable_page_config_content']['link'] as $i=> $link_info){
  102. if(isset($link_info['list'])){
  103. foreach($link_info['list'] as $j => $link){
  104. $editable_page_config_list[$key]['editable_page_config_content']['link'][$i]['list'][$j]['content']= htmlspecialchars_decode($link['content']);
  105. }
  106. }
  107. }
  108. }
  109. }
  110. $data['editable_page_config_list']=$editable_page_config_list;
  111. return $data;
  112. }
  113. }
  114. ?>