【phpcms-v9】如何实现在含有子栏目的栏目下添加内容?
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-23 15:22:48 浏览: 评论:0
一、phpcms-v9默认情况下只能在最底层栏目下添加内容,而不能给含有子栏目的栏目添加内容,如果需要给含有子栏目的栏目下添加内容的需求,则需要修改content.php控制器的如下代码:
- /**
- * 显示栏目菜单列表
- */
- public function public_categorys() {
- $show_header = '';
- $cfg = getcache('common','commons');
- $ajax_show = intval($cfg['category_ajax']);
- $from = isset($_GET['from']) && in_array($_GET['from'],array('block')) ? $_GET['from'] : 'content';
- $tree = pc_base::load_sys_class('tree');
- if($from=='content' && $_SESSION['roleid'] != 1) {
- $this->priv_db = pc_base::load_model('category_priv_model');
- $priv_result = $this->priv_db->select(array('action'=>'init','roleid'=>$_SESSION['roleid'],'siteid'=>$this->siteid,'is_admin'=>1));
- $priv_catids = array();
- foreach($priv_result as $_v) {
- $priv_catids[] = $_v['catid'];
- }
- if(emptyempty($priv_catids)) return '';
- }
- $categorys = array();
- if(!emptyempty($this->categorys)) {
- foreach($this->categorys as $r) {
- if($r['siteid']!=$this->siteid || ($r['type']==2 && $r['child']==0)) continue;
- if($from=='content' && $_SESSION['roleid'] != 1 && !in_array($r['catid'],$priv_catids)) {
- $arrchildid = explode(',',$r['arrchildid']);
- $array_intersect = array_intersect($priv_catids,$arrchildid);
- if(emptyempty($array_intersect)) continue;
- }
- if($r['type']==1 || $from=='block') {
- if($r['type']==0) {
- $r['vs_show'] = "<a href='?m=block&c=block_admin&a=public_visualization&menuid=".$_GET['menuid']."&catid=".$r['catid']."&type=show' target='right'>[".L('content_page')."]</a>";
- } else {
- $r['vs_show'] ='';
- }
- $r['icon_type'] = 'file';
- $r['add_icon'] = '';
- $r['type'] = 'add';
- } else {
- $r['icon_type'] = $r['vs_show'] = '';
- $r['type'] = 'init';
- $r['add_icon'] = "<a target='right' href='?m=content&c=content&menuid=".$_GET['menuid']."&catid=".$r['catid']."' onclick=javascript:openwinx('?m=content&c=content&a=add&menuid=".$_GET['menuid']."&catid=".$r['catid']."&hash_page=".$_SESSION['hash_page']."','')><img src='".IMG_PATH."add_content.gif' alt='".L('add')."'></a> ";
- }
- $categorys[$r['catid']] = $r;
- }
- }
- if(!emptyempty($categorys)) {
- $tree->init($categorys);
- switch($from) {
- case 'block':
- $strs = "<span class='\$icon_type'>\$add_icon<a href='?m=block&c=block_admin&a=public_visualization&menuid=".$_GET['menuid']."&catid=\$catid&type=list' target='right'>\$catname</a> \$vs_show</span>";
- $strs2 = "<img src='".IMG_PATH."folder.gif'> <a href='?m=block&c=block_admin&a=public_visualization&menuid=".$_GET['menuid']."&catid=\$catid&type=category' target='right'>\$catname</a>";
- break;
- default:
- $strs = "<span class='\$icon_type'>\$add_icon<a href='?m=content&c=content&a=\$type&menuid=".$_GET['menuid']."&catid=\$catid' target='right' onclick='open_list(this)'>\$catname</a></span>";
- //修改前
- //$strs2 = "<span class='folder'>\$catname</span>";
- //修改后
- $strs2 = "<span class='\$icon_type'>\$add_icon<a href='?m=content&c=content&a=\$type&menuid=".$_GET['menuid']."&catid=\$catid' target='right' onclick='open_list(this)'>\$catname</a></span>"; //开源软件:phpfensi.com
- break;
- }
- $categorys = $tree->get_treeview(0,'category_tree',$strs,$strs2,$ajax_show);
- } else {
- $categorys = L('please_add_category');
- }
- include $this->admin_tpl('category_tree');
- exit;
- }
2.截图如下:
二、案例:
【咨询】栏目下有很多子栏目,如,【即时、国际、大陆等等】,当要添加的内容不属于 【即时、国际、大陆、台湾、港澳、社会、深度、图片、评论、军事、历史、文化、专题、排行】任何一个 栏目时,会将要添加的内容将放在 【咨询 】顶级栏目下
当点击【咨询】时,将显示不属于【即时、国际、大陆、台湾、港澳、社会、深度、图片、评论、军事、历史、文化、专题、排行】栏目下的文章列表
三、尽量避免这种情况的发生,因为这样会引起index.html文件的冲突,如果确实需要完成此功能,我们可以采取一种其它的实现方式。比如,再建立一个名称为【其它】的子栏目,专门用于存放暂时没有归类的文章。如果不想在模版中显示【其它】这个名字,可以将其屏蔽掉,
Tags: phpcms子栏目 phpcms栏目内容
相关文章
- ·phpcms v9 多级下拉菜单的子栏目调取方法(2014-10-20)
- ·phpcms列表页中,如何调用其下的所有子栏目,或特定的子栏目(2014-10-22)
- ·【phpcms-v9】如何在频道页面动态显示当前频道各个子栏目的(2014-10-23)
- ·phpcms v9 如何在列表页和内容页调用子栏目的目录名(2015-03-19)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)