discuz 自定义页面多选项

discuz教程
这是一个可切换tab选项卡的自定义页面,与js/jq切换不同的是,它每个选项卡有独立的url。之前的帖子里写过自定义可diy页面的方法,这个也是据此而来。完整的贴一遍——————————————————1.新建自定义页面的php文件,命名about.php(因为可以用做关于我们,所以如此命名来演示)放到根目录,代码如下:

<?phpdefine('CURSCRIPT', 'about');define('CURMODULE', 'index');require './source/class/class_core.php';$discuz = & discuz_core::instance();$discuz->cachelist = $cachelist;$discuz->init();loadcache('diytemplatename'); if($_GET['v']==1 || empty($_G[gp_v]) ){ $navtitle = 标题1; }elseif($_GET['v']==2){ $navtitle = 标题2; } elseif($_GET['v']==3){ $navtitle = 标题3; } elseif($_GET['v']==4){ $navtitle = 标题4; }$metakeywords = '这里定义单页的关键词';$metadescription ='这里定义单页的描述内容';include template('diy:about/about');?>

2.在模板风格目录里新建about文件夹,里面新建文件about.htm,代码如下:

{subtemplate common/header}<div id="pt" class="cl"> <div class="z"> <a href="index.php" class="nvhm">$_G[setting][bbname]</a><em>»</em>自定义页面 </div></div><style id="diy_style" type="text/css"></style><div id="ct" class="wp cl n"> <div class="mn"> <div class="bm" style="padding:0 15px;"> <ul class="tb cl"> <li <!--{if empty($_G[gp_v]) || $_G[gp_v] == '1'}-->class="a"<!--{/if}-->><a href="about.php?v=1">内容1</a></li> <li <!--{if $_G[gp_v] == '2'}-->class="a"<!--{/if}-->><a href="about.php?v=2">内容2</a></li> <li <!--{if $_G[gp_v] == '3'}-->class="a"<!--{/if}-->><a href="about.php?v=3">内容3</a></li> <li <!--{if $_G[gp_v] == '4'}-->class="a"<!--{/if}-->><a href="about.php?v=4">内容4</a></li> </ul> <div class="datalist" style="margin:10px 0;"> <!--{if empty($_G[gp_v]) || $_G[gp_v] == '1'}--> 1 <!--{elseif $_G[gp_v] == '2'}--> 2 <!--{elseif $_G[gp_v] == '3'}--> 3 <!--{elseif $_G[gp_v] == '4'}--> 4 <!--{/if}--> </div> </div> </div> </div>{subtemplate common/footer}

到这就可以了,访问域名/about.php?v=1即可浏览效果。需要注意的是变量$_G[gp_v],这里的v和==1/2/3/4,都可以换,统一即可。每个显示内容的1/2/3/4,可以换成diy区域代码,如:<!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->复制代码这样可以diy每个选项的内容。注意这里模板文件不能用*php,只能用*.htm,否则diy保存会显示“模板文件不存在”。如果会自己写数据查询代码,可应用范围就更大些。

标签: