Discuz X 多页面专题制作教程

http://www.discuz.net/forum.php?mod=viewthread&tid=1851776&reltid=2950818&pre_thread_id=2667972&pre_pos=3&ext=CB





Discuz X 专题制作分页教程

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

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专题上设置多页。过几天放出。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值