CMS:eyoucms
项目需求:一篇文档对应多个栏目
解决思路:
后端:在文档数据表添加一个附属栏目字段fslm_id,在文档编辑,添加页面添加附属栏目选项,获取当前模型对应的所有栏目放入到附属栏目选项中。

后台修改:

1.添加表字段
文档存储数据表:archives
添加数据字段:fslm_id

2.文章文档编辑
控制器:app>admin>controller>Article.php
列表视图:app>admin>template>article>index.htm
编辑视图:app>admin>template>article>edit.htm
添加视图:app>admin>template>article>add.htm

3.产品文档编辑
控制器:app>admin>controller>Product.php
列表视图:app>admin>template>product>index.htm
编辑视图:app>admin>template>product>edit.htm
添加视图:app>admin>template>product>add.htm

//
/5.5版本后台数据列表*/
/
/

<!-- 附属栏目 -->
<dl class="row"><dt class="tit"><label for="title"><em>*</em>附属栏目</label></dt><dd class="opt"><select multiple class="form-control" name="fslm_id[]" id="fslm_id">{$arctype_html}</select></dd>
</dl>
<!-- 附属栏目 -->
Article.php/**
* 文章列表
*/
public function index(){//查询所有文档数据
$fslmcx = Db::name('archives')->select();/*遍历所有附属栏目id */
foreach($fslmcx as $k => $y){//筛选附属栏目为空的文档            if($y['fslm_id'] != false){//附属栏目获取反序列化$fslm_id = unserialize($y['fslm_id']);// 获取附属栏目id foreach($fslm_id as $tyid){//筛选与当前栏目相同附属栏目idif($typeid == $tyid){//筛选同栏目下相同文档(重复文档)if(!($typeid == $y['typeid'])){//查询组装文档URL$newids = [$y['aid']];$row_fslm = Db::name('archives')->field($fields)->alias('a')->join('__ARCTYPE__ b', 'a.typeid = b.id', 'LEFT')->where('a.aid', 'in', $newids)->getAllWithIndex('aid');// 查询栏目列表$fslm_column = Db::name('arctype')->where('id',$y['typeid'])->select();                           // 获取所属栏目名称$y['typename'] = $fslm_column['0']['typename'];// 获取文档URL,get_arcurl:自定义函数,可用url()助手函数重新定义$y['arcurl'] = get_arcurl($row_fslm[$y['aid']]);//放入$list数组中          $list[] = $y;}                    }}
}
}
/*附属栏目*/
}

//
/5.5版本前端数据获取*/
/
/
前端修改:
根据项目需求:首页有多个分类栏目需要展示附属栏目文档
修改文件:
视图:app>template>pc>index.htm

 <!-- 获取附属栏目 -->
{php}
$fslmd = [];
foreach ($fslmcx as $ks => $wendang){               if($wendang['fslm_id'] != false){                 $fslm_id = unserialize($wendang['fslm_id']);            foreach($fslm_id as $fskms){                     if($fskms == $field3['typeid']){                          if(!($field3['typeid'] == $wendang['typeid'])){                        // 获取文档URL$wendang['arcurl'] = url('home/View/index','aid='.$wendang['aid']);$fslmd[] = $wendang;}}}
}
}
{/php}
<!-- 获取附属栏目.end -->{volist name="fslmd" id="vo" offset="0" length='6'}
<li class="tupian_Column_p cpbk_changdu"><a href="{$vo.arcurl}"><div><img src="{$vo.litpic}" alt=""></div></a><a href="{$vo.arcurl}"><p>{$vo.title}</p></a>
</li>
{/volist}

控制器:app>home>controller>index.php

//查询附属栏目数据
$fslmcx = Db::name('archives')->where('is_recom', '1')->where('lang', 'cn')->select();
$this->assign('fslmcx', $fslmcx);

*5.6版本后不需要另外单独调用前端数据,只需把后台数据调用出来方便后台管理
/**********************/
/
5.6版本后台数据列表/
/**********************/

//查询所有文档数据
$fslmcx = Db::name('archives')->select();// 获取附属栏目文章foreach($fslmcx as $k => $chanping){if(!empty($chanping['stypeid'])){$chanping['stypeid'] = explode(',',$chanping['stypeid']);foreach($chanping['stypeid'] as $kstypeid => $fushulm){if($fushulm == $typeid){$newids = [$chanping['aid']];$fields = "b.*, a.*, a.aid as aid";$row_fslm = Db::name('archives')->field($fields)->alias('a')->join('__ARCTYPE__ b', 'a.typeid = b.id', 'LEFT')->where('a.aid', 'in', $newids)->getAllWithIndex('aid');// 查询栏目列表$fslm_column = Db::name('arctype')->where('id',$chanping['typeid'])->select();                           $chanping['typename'] = $fslm_column['0']['typename'];$chanping['arcurl'] = get_arcurl($row_fslm[$chanping['aid']]);      $list[] = $chanping;}}}}
/**********************///编辑
public function edit(){//序列化数组
$fslm_id = serialize($post['fslm_id']);// 存储数据,添加一条记录
$newData = array(
'fslm_id' => $fslm_id,
);
}

eyoucms添加附属栏目功能相关推荐

  1. eyoucms添加内容

    添加发布内容 快速添加内容只针对文章模型.产品模型.图片模型.下载模型等列表模型有效,其他模型内容编辑修改需要到栏目更改-"内容管理"里编辑; 点击发布文档-快捷发布-选择需要添加 ...

  2. eyoucms添加发布内容

    添加发布内容 快速添加内容只针对文章模型.产品模型.图片模型.下载模型等列表模型有效,其他模型内容编辑修改需要到栏目更改-"内容管理"里编辑; 点击发布文档-快捷发布-选择需要添加 ...

  3. php自动排版的快捷键,PHPCMS V9教程:ckeditor编辑器添加一键排版功能

    v9使用的Ckeditor编辑器,在使用过程中有些不尽人意的地方,下面我来修改一下编辑器,改动几个地方,让Ckeditor编辑更加实用一些. 此次修改的内容有批量去除超链接.上传图片自动添加ALT参数 ...

  4. ckeditor使用教程 php,为ckeditor编辑器修改添加一键排版功能

    为ckeditor编辑器修改添加一键排版功能 使用PHPCMS V9的朋友都知道,V9内置使用ckeditor编辑器,但是默认编辑器的排版功能不是很强大,下面绿茶小编教大家修改一下编辑器,改动几个地方 ...

  5. 为电子商务网站添加在线支付功能

    2019独角兽企业重金招聘Python工程师标准>>> 网页制作Webjx文章简介:为了方便买家们在网站购物时能够在线支付货款并有效提升网站档次,作为购物网站的站长有必要给网站增添在 ...

  6. [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件

    前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...

  7. 给gridview添加上下移动功能

    给gridview添加上下移动功能 存储过程代码: CREATE PROCEDURE [sp_trans_dept] @now_id int, @upside_id int AS declare @t ...

  8. 9.Spring Security添加记住我功能

    在网站的登录页面中,记住我选项是一个很常见的功能,勾选记住我后在一段时间内,用户无需进行登录操作就可以访问系统资源.在Spring Security中添加记住我功能很简单,大致过程是:当用户勾选了记住 ...

  9. dedecms自定义表单如何添加发布时间功能

    这篇文章给大家分享的是有关dedecms自定义表单如何添加发布时间功能的内容.小编觉得挺实用的,因此分享给大家做个参考.一起跟随小编过来看看吧.  dedecms自定义表单怎么添加发布时间功能?  d ...

  10. 为安卓应用添加手势密码功能,遇到的一些问题以及解决方法

    公司的APP有个需求为他添加类似于支付宝的手势密码验证功能效果图如下 首先我们要分析三个问题: 1.手势密码的作用是什么? 2.在什么时候启动? 3.启动之后干什么? 1.手势密码的作用是什么? 这里 ...

最新文章

  1. 泊松回归、gamma回归、Tweedie回归等广义线性回归模型GLM的评估指标:校准曲线、 洛伦兹曲线、卡方检验、AIC、BIC、偏差(Deviance)指标
  2. android 读取json数据(遍历JSONObject和JSONArray)
  3. [学习笔记]Silverlight4 RIA 开发全程解析[项目全程记录]----第二章--为站点流行而准备:提供一个可扩展的体系结构(写作中)...
  4. java kafka 设置分区_Java kafka如何实现自定义分区类和拦截器
  5. Ubuntu返回到Gnome经典桌面!
  6. Docker是啥?容器变革的火花?
  7. (DAG+固定终点的最长路和最短路)硬币问题
  8. 【2016年第1期】大数据隐私保护技术综述(下)
  9. linux 服务器(CentOS7)搭建PHP环境+SSH配置+服务器文件上传配置
  10. eclipse怎么显示代码行数
  11. 10g的客户端从9i的服务器中导出数据时遇到上面的问题
  12. 游戏外挂设计技术探讨(上)
  13. Android 福彩3D体彩排列(源码+算法)
  14. 活法:提升心性,磨炼灵魂——稻盛和夫
  15. nar-gab投稿记录
  16. abp moveto mysql_abp 使用 hangfire结合mysql
  17. CST2019电磁工作室的简单使用
  18. 如何快速构建一套稳定、高效、可靠的网页无插件监控、直播、点播解决方案
  19. 压缩文件zip怎么查看注释呢,市场上一些破软件不好用啊,我有秘诀
  20. 基于JAVA-英杰学堂网上教学平台-计算机毕业设计源码+系统+mysql数据库+lw文档+部署

热门文章

  1. 光谱共焦的测量原理及厚度测量模式
  2. 算法工程师面试常见问题
  3. FPGA之通信算法工程师面试题3
  4. 三相电机控制方式入门,看完这一篇就够了
  5. python共享单车数据分析_共享单车数据可视化分析(Python/Seaborn)
  6. 单尺度Retinex
  7. stm32Cubemx USB虚拟串口
  8. 【FPGA学习笔记】初次使用FPGA硬件编程编程语言Verilog编写HDL程序03
  9. C语言面试题---结构体
  10. Java 常量字符串过长