开启辅助访问
帐号登录 |立即注册

Discuz利用 $_G['mod'] 实现自定义左右分栏结构页面

 
之前,我们可以通过使用 include template('diy:123/index'); 的方式将某个模板文件以.php的方式在根目录调用。但使用这种方法,我们只能实现某一个单一页面的调用。
在这里,我们就可以巧妙的运用 Discuz! 自带的变量 $_G['mod'] 来做判断。
例如在 Discuz! 动态路径时显示的:
forum.php?mod=
home.php?mod=
简单的来分析一下如何实现:
  • 根目录创建 test.php 调用模板目录文件 具体调用方法阅读:根目录创建 .php 文件调用插件/模板 文件
  • 模板目录新建文件夹“test”
  • “test” 目录下新建一个被调用文件 (以上三个步骤与单一调用相同)
  • 因为我们这里做的是左右分栏。分栏的地址是多个,所以在内容结构上需要做一些改变。首先,我们可以写一个页面的框架
[PHP] 纯文本查看 复制代码
<!--{template common/header}-->
    <div class="cl">
        <div class="z">
            <ul>
                <li><a href="test.php"><em></em>首页</a></li>
                <li><a href="test.php?mod=tools_1">导航1</a></li>
                <li><a href="test.php?mod=tools_2">导航2</a></li>
                <li><a href="test.php?mod=tools_3">导航3</a></li>
            </ul>
        </div>
        <div class="y">
            <!--{if $_G['mod']}-->
                    <!--{template test/'.$_G['mod'].'}-->
            <!--{else}-->
                    <!--{template test/index}-->
            <!--{/if}-->
        </div>
    </div>
<!--{template common/footer}-->

导航栏部分:
A标签中,mod=的值为对应的同等 “test”目录下分页的文件名。如:tools_1.htm

内容部分:
判断mod:
如果存在则显示<!--{template file/'.$_G['mod'].'}-->
也就是说,我们把每一个导航栏对应的内容部分单独写成一个文件存放在“test”目录下,再用<!--{template file/'.$_G['mod'].'}--> 的方式对应调用。
否则 test.php 则显示 <!--{template test/index}--> ( 也就是还显示当前页面)


回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。