Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Discuz X 多页面专题制作教程

[复制链接]
ijse 发表于 2010-8-22 23:28:59 | 显示全部楼层 |阅读模式
本帖最后由 ijse 于 2010-8-29 16:14 编辑

Discuz X 专题制作分页教程

在官方没有找到详细讲专题制作的帮助文档(感觉想查的官方帮助文档里都没有,简单的自己知道的倒全都有-_-!)自己研究了一下,下面一个半成品演示页面可以访问:http://www.myqdc.com/topic-seekerweb.html)
  
进入管理后台-门户-专题管理,然后点击创建专题,在创建专题页面中有提示:

OK,我们就需要自己来做这样一个模板文件。
打开template/default/portal/文件夹,复制它原有的portal_topic_content.htm文件一份,然后按它的要求自己起个名字,比如portal_topic_seeker.htm。
在官方的模板文件里看到有这么一句:
<link id="style_css" rel="stylesheet" type="text/css" href="{STATICURL}topic/t1/style.css?{VERHASH}">
那就把用到的一些图片、CSS、JS代码放到/static/topic/文件夹下吧,在/static/topic/文件夹下新建一个t3,然后再新建一个images文件夹放图片,一个style.css来写CSS,还有一个js文件夹下放js文件。
接着来改模板,这里就拿我做的这个专题模板的代码来解释吧:



  1. {subtemplate common/header}
  2. <!-- 上面这行是用来引入DX页面的头部,不能少 -->

  3. <link id="style_css" rel="stylesheet" type="text/css" href="{STATICURL}topic/seeker/seeker.css?{VERHASH}">
  4. <!-- 这里引入页面 的CSS代码 -->

  5. <!--<style id="diy_style" type="text/css"></style>-->

  6. <!--下面新建一个DIV,来装我们的页面的东西 -->
  7. <div id="seeker">
  8.         <div id="header">
  9.         <ul>
  10.                 <li id="l1"></li>
  11.             <li id="logo"></li>
  12.                    <!-- 这里的链接地址,前部分是要显示的内容,后部分是在哪里显示。比如首页这个:在tempBox下找ID是index的DIV,将它显示在id为main的DIV里 -->
  13.             <li id="l2"><a href="index,main" class="pbtn"><span>首页</span></a></li>
  14.                          <li><a href="page1,main" class="pbtn"><span>规章制度</span></a></li>
  15.             <li><a href="page2,main" class="pbtn"><span>规章制度</span></a></li>
  16.             <li><a href="page3,main" class="pbtn"><span>招纳新人</span></a></li>
  17.             <li><a href="page4,main" class="pbtn"><span>交流论坛</span></a></li>
  18.         </ul>
  19. <script type="text/javascript" src="{STATICURL}js/multpage.js"></script>
  20.         <img src="/static/topic/seeker/images/main_imag.gif" />
  21.     </div>
  22.    
  23.     <!--下面这个main区域就是在点击导航栏的菜单之后要切换改变的地方了-->
  24.     <div id="main">
  25.             
  26.             
  27.             
  28.             <div id="index">
  29.                                 <div class="wp">
  30.                                 <!--[diy=diyseeker]-->
  31.                                         <div id="diyseeker" class="area">
  32.                                         </div>
  33.                                 <!--[/diy]-->
  34.                                 </div>
  35.                         </div>
  36.                 <!--上面这一段就是一个DIV区域,由于要默认显示它所以就直接把它写在了main里面。-->
  37.                 <!-- 注释的方框中diy=后面的值一定要是全页面 唯一的,而且要与它下面那个DIV的ID值相一致,否则会出错的 -->
  38.                         
  39.                         
  40.                         
  41.                 </div>
  42.         <div id="bottom">
  43.         <div class="wp">
  44.                 <!--[diy=diyfooter]-->
  45.                         <div id="diyfooter" class="area">
  46.                         </div>
  47.                 <!--[/diy]-->
  48.                 </div>
  49.         </div>
  50.                
  51.   </div>
  52.   
  53.   <!--这个DIV是隐藏的,里面装着每个页面的内容,通过JS来控制显示 每一个页面 都是一个diy区域-->
  54.   <!--ID值一定要是tempBox,大小写都要一致,否则就不能切换。因为我在multpage.js文件 里写死了。。:)-->
  55. <div id="tempBox" style="display:none;">
  56.     <div id="page1" class="wp">
  57.     <!--[diy=diy1]-->
  58.                         <div id="diy1" class="area">
  59.                         </div>
  60.                 <!--[/diy]-->
  61.     </div>
  62.    
  63.         <div id="page2" class="wp">
  64.     <!--[diy=diy2]-->
  65.                         <div id="diy2" class="area">
  66.                         </div>
  67.                 <!--[/diy]-->
  68.     </div>
  69.    
  70.         <div id="page3" class="wp">
  71.     <!--[diy=diy3]-->
  72.                         <div id="diy3" class="area">
  73.                         </div>
  74.                 <!--[/diy]-->
  75.     </div>

  76.    
  77.    
  78. </div>
  79. {subtemplate common/footer}
复制代码

最后,有几点要注意的:
1.        有时候刷新没有效果,可能是缓存的问题,到后台清空一下服务器缓存,然后再清空下本地浏览器缓存,然后再试试。
2.        一些代码可以通过DIY加入展示类自定义代码来实现,建议把更多的地方设为diy区域,这样修改起来更灵活一些。
3.        在css文件里可以写一个类,然后在前台diy的时候,给框架或者模块设定“指定class”为类名,这样就可以应用自己写的CSS了。
4.        也可以在展示类自定义代码里直接写<style type="text/css" .....</style> 然后按上面的方法来应用CSS。。其它的,比如JS代码也可以这样来的。

近期写了一个JS插件,就是由做这个DX专题而想到的,通过使用这个插件可以非常方便地在DX专题上设置多页。过几天放出。。

无效楼层,该帖已经被删除
mels 发表于 2010-8-24 11:03:05 | 显示全部楼层
支持的人真少!
回复

使用道具 举报

la367 发表于 2010-8-24 15:17:47 | 显示全部楼层
很想实操一次~·
回复

使用道具 举报

maikongjian14a 发表于 2010-8-24 15:46:16 | 显示全部楼层
多多学习 看看教程
回复

使用道具 举报

lyxyw 发表于 2010-8-24 19:48:54 | 显示全部楼层
谢谢免费分享
回复

使用道具 举报

ilei365 发表于 2010-8-24 20:41:00 | 显示全部楼层
支持下了。。。
回复

使用道具 举报

8#
无效楼层,该帖已经被删除
la367 发表于 2010-8-25 16:28:28 | 显示全部楼层
这样的页面不错啊~~
回复

使用道具 举报

wjrsam 发表于 2010-8-28 15:22:23 | 显示全部楼层
谢谢楼主的免费分享,来学习一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-14 14:25 , Processed in 0.038566 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表