找回密码
 立即注册
搜索

途迹耕耘

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

GMT+8, 2025-12-22 05:42 , Processed in 0.151758 second(s), 14 queries .

[DZ教程] discuz 自定义页面多选项

[复制链接]
bdk 发表于 2020-5-2 07:16:51 | 显示全部楼层 |阅读模式
又是一个不眠夜,夜班。
继续更新有意思的东西——自定义页面多选项
这是一个可切换tab选项卡的自定义页面,与js/jq切换不同的是,它每个选项卡有独立的url。

之前的帖子里写过自定义可diy页面的方法,这个也是据此而来。

完整的贴一遍——————————————————
1.新建自定义页面的php文件,命名about.php(因为可以用做关于我们,所以如此命名来演示)放到根目录,代码如下:
  1. <?php
  2. define('CURSCRIPT', 'about');
  3. define('CURMODULE', 'index');
  4. require './source/class/class_core.php';
  5. $discuz = & discuz_core::instance();
  6. $discuz->cachelist = $cachelist;
  7. $discuz->init();
  8. loadcache('diytemplatename');
  9.     if($_GET['v']==1 || empty($_G[gp_v]) ){
  10.         $navtitle = 标题1;
  11.     }elseif($_GET['v']==2){
  12.         $navtitle = 标题2;
  13.     }
  14.     elseif($_GET['v']==3){
  15.         $navtitle = 标题3;
  16.     }
  17.     elseif($_GET['v']==4){
  18.         $navtitle = 标题4;
  19.     }
  20. $metakeywords = '这里定义单页的关键词';
  21. $metadescription ='这里定义单页的描述内容';
  22. include template('diy:about/about');
  23. ?>
复制代码
2.在模板风格目录里新建about文件夹,里面新建文件about.htm,代码如下:
  1. {subtemplate common/header}
  2. <div id="pt" class="cl">
  3.     <div class="z">
  4.         <a href="index.php" class="nvhm">$_G[setting][bbname]</a><em>&#187;</em>自定义页面
  5.     </div>
  6. </div>
  7. <style id="diy_style" type="text/css"></style>
  8. <div id="ct" class="wp cl n">
  9.     <div class="mn">
  10.         <div class="bm" style="padding:0 15px;">
  11.             <ul class="tb cl">
  12.                 <li <!--{if empty($_G[gp_v]) || $_G[gp_v] == '1'}-->class="a"<!--{/if}-->><a href="about.php?v=1">内容1</a></li>
  13.                 <li <!--{if $_G[gp_v] == '2'}-->class="a"<!--{/if}-->><a href="about.php?v=2">内容2</a></li>
  14.                 <li <!--{if $_G[gp_v] == '3'}-->class="a"<!--{/if}-->><a href="about.php?v=3">内容3</a></li>
  15.                 <li <!--{if $_G[gp_v] == '4'}-->class="a"<!--{/if}-->><a href="about.php?v=4">内容4</a></li>
  16.             </ul>
  17.             <div class="datalist" style="margin:10px 0;">
  18.                 <!--{if empty($_G[gp_v]) || $_G[gp_v] == '1'}-->
  19.                 1
  20.                 <!--{elseif $_G[gp_v] == '2'}-->
  21.                 2
  22.                 <!--{elseif $_G[gp_v] == '3'}-->
  23.                 3
  24.                 <!--{elseif $_G[gp_v] == '4'}-->
  25.                 4
  26.                 <!--{/if}-->
  27.             </div>
  28.         </div>
  29.     </div>         
  30. </div>
  31. {subtemplate common/footer}
复制代码
到这就可以了,访问域名/about.php?v=1即可浏览效果。
需要注意的是变量$_G[gp_v],这里的v和==1/2/3/4,都可以换,统一即可。
每个显示内容的1/2/3/4,可以换成diy区域代码,如:
  1. <!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
复制代码
这样可以diy每个选项的内容。注意这里模板文件不能用*php,只能用*.htm,否则diy保存会显示“模板文件不存在”。
如果会自己写数据查询代码,可应用范围就更大些。

20161223 更新
入口文件做了部分修改,以改变网页title。