• 注册
  • DZ代码
  • 今日 0
  • 帖子 15
  • 关注 0
  • DZ代码 DZ代码 关注:0 内容:15

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

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • DZ代码
    • Lv.16
      无极会员
      中国加油

          之前,我们可以通过使用 include template('diy:123/index'); 的方式将某个模板文件以.php的方式在根目录调用。但使用这种方法,我们只能实现某一个单一页面的调用。
          在这里,我们就可以巧妙的运用 Discuz! 自带的变量  $_G['mod'] 来做判断。
      例如在 Discuz! 动态路径时显示的:

      forum.php?mod=
      home.php?mod=

      简单的来分析一下如何实现:
      一、根目录创建 test.php 调用模板目录文件  具体调用方法阅读:根目录创建 .php 文件调用插件/模板 文件
      二、模板目录新建文件夹“test”
      三、“test” 目录下新建一个被调用文件 (以上三个步骤与单一调用相同)

      四、因为我们这里做的是左右分栏。分栏的地址是多个,所以在内容结构上需要做一些改变。首先,我们可以写一个页面的框架

      <!--{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

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

      请登录之后再进行评论

      登录
    • 做任务
    • 实时动态
    • 偏好设置
    • 返回顶部
    • 帖子间隔 侧栏位置: