彼岸网

 找回密码
 立即注册
搜索
热搜: 活动

tag 标签: 频道

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

分享 2015/9/3 大阅兵直播频道(英文+中文)
笔记本 2015-9-3 04:56 AM
文章来源: http://www.zhenzhubay.com/home.php?mod=space&uid=1&do=blog&id=30520
0 个评论
分享 Discuz系统学习:频道和专题
热度 3 天香公主 2015-5-16 04:40 PM
Discuz系统学习:频道和专题
Discuz系统学习:频道和专题 频道(channel)不是象门户(portal),论坛,日志那样是在管理中心里的全局->站点功能里可以关闭和开启单独的站点功能。它被看成是门户功能的一部分,要在管理中心里的门户->频道栏目里建造。在那里可以选择各种频道网页模板,网站或第三方开发者还可以添加这种频道模板。 你能想象栏目众多的美中网博客首页 http://news.sinovision.net/portal.php?mod=listcatid=1 就是个频道页吗?频道页可以起两种作用:第一种是作为文章栏目,如海外天空网的新闻页 http://www.overseasky.com/bbs/portal.php?mod=listcatid=1 就是个典型的文章列表页,这种频道页可以在建造时选择文章分类单列模板或文章分类两列模板或第三方提供的频道模板,以及允许发布文章来产生。这样的频道是一类文章的总和。第二种是作为与门户页类似的聚合页,比如上面提到的美中网的博客首页,要建造这样的频道网页可以在建频道时选择频道空白模板为列表页模板名,发布文章设为否,由此产生的是一个完全由DIY来设置内容的空白页,它和门户页没有任何区别,也就是说我们可以造多个门户页。以下我将这两种频道称之为第一类频道和第二类频道。 Discuz还提供了另一个门户功能,称为专题。专题和频道的主要区别是 1)频道有上下级关系,而专题是单独的。2)频道可以成为包含文章的栏目,而专题不能。但专题页也能起和第二类频道页能起同样的作用,细微显示上的差异也可以通过修改相应的模版来调节。而频道内置的模版里显示的相关分类栏也给第二类频道页带来不便。所以我感觉用专题页比第二类频道页更合适。其它网页诸如论坛页博客页尽管也提供DIY功能,但却没有这样的自由度,一是他们上面都有一定不属于DIY控制的内容,二是Discuz也没有提供选择建造该页的模板的可能,三是它只此一页没法分出多份,把它挪为它用的话,网站就没有论坛列表页或日志列表页了。只有专题和频道能产生多份完全由DIY设置内容的网页。 我们知道网站的内容大都存在于个人博文,论坛帖子和文章里,博文可以有分类,论坛也有板块,文章也分(第一类频道)栏目。门户页本身基本上不存内容,但它把这些博文帖子文章聚合到一页上来了,让用户一目了然。缺点是如果网站用户兴趣差别太大,他们会在那里看到不想看到的内容。而如果建多个专题页(或第二类频道页,下同)的话,就能把网站内容按主题分割开来,让不同兴趣的网民各取所需。比如一个网站里的博文可以分成政治,经济,文学,艺术四类,它的论坛也有这么四个同名板块,还有二个(第一类)频道一是政经新闻二是文艺新闻。那我们可以建两个专题页,在第一个网页上放各种最新/热门/热评/推荐/置顶的政治类博文栏,经济类博文栏,政治板块栏,经济板块栏,和政经新闻栏,而第二个网页上放文学类博文栏,艺术类博文栏,文学板块栏,艺术板块栏,和文艺新闻栏。这样爱好讨论政经的网民可以进政治门户,爱好文艺的网友可以进文艺门户。 网站的内容除了频道里的文章,论坛里的主题,和博客里的博文外,还有个人的微博。如何把微博内容也分割到各专题页呢?我想网站可以给每个专题页建一个帐号 (如政经组,文艺组)交给各组的负责人用,然后那些希望自己的微博出现在某专题页上的人可以加对应该频道的帐号为好友。这样在该专题页上显示该帐号的好友微博就行了。 不难加个功能,让每个用户自行挑选他们进入网站时哪个门户是他们的默认首页。下面我们讨论一个简单的处理办法。在顶部加一个'设为本站首页'链接: 对顶部导航栏 (top navagation) 内容的调整可以在管理中心里做:界面->导航设置->顶部导航。这样加的导航项称为自定义(即网站提供)导航项对应着数据库里common_nav数表里一个type值是1的record。从/source/function/cache/cache_setting.php 里的get_cachedata_topnav函数看,除非修改代码,不然对自定义项只能定义href,而没法和内置(即Discuz软件提供)项那样有代码处理事件(如onclick)。也可以在数据库里执行下面的语句来达到同样的结果: xmp { white-space: pre-wrap; display: block; border: 1px solid lightgrey; padding: 5px;} insert into common_nav (parentid, name, title, url, identifier, type, available, displayorder, icon, subname, suburl, navtype, logo ) values (0, '设为本站首页', '', '#', 'setdefaultpage', 1, 1, 3, '', '', '', 4, '') 当点击这个链接时调用的函数定义在 /static/js/common.js 里: function setDefaultpage() { setcookie('defaultpage', window.location.href); } 最后我们在/source/function/cache/cache_setting.php 里将链接和上面这个函数联系起来: fetch_all_by_navtype(4) as $nav) { $nav = ''; if(!$nav ) { if($nav == 'sethomepage') { $nav = 'javascript:;'; $nav = ' onclick="setHomepage(\''.$_G .'\');"'; } elseif($nav == 'setfavorite') { $nav = $_G ; $nav = ' onclick="addFavorite(this.href, \''.addslashes($_G ).'\');return false;"'; } } elseif($nav == 'setdefaultpage') { $nav = 'javascript:;'; $nav = ' onclick="setDefaultpage();return false;"'; } 然后我们在管理中心将门户页设成首页,但在门户页里检查用户是否已经另设首页。有的话把他带到自己的首页。没有的话,提示用户选择首页。下面是改动后的 portal/index.htm : var url = getcookie('defaultpage'); if (url && window.location != url) window.location = url;
个人分类: Discuz|2540 次阅读|5 个评论

小黑屋|Archiver|彼岸网  

Powered by Discuz! X3.1 © 2001-2014 Comsenz Inc.
GMT-4, 2026-8-26 04:47 AM , Processed in 0.024693 second(s), 14 queries.

返回顶部