文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>17joys的后台页面-视图

17joys的后台页面-视图

时间:2010-04-14  来源:17joys

http://www.17joys.com/php/cms/cms-8-89.html17joys的后台页面-视图

现在模块控制器有了,接下来当我们访问模块的操作时,就该给用户呈现页面了,这就是视图。终于轮到前台的XHTML+CSS+JavaScript大显身手了。

ThinkPHP的视图主要由View视图类和模板文件构成。视图类负责Action控制器类和模板文件之间沟通,Action类把数据通过View类传递到模板文件,而模板文件把接收到的数据转换成相应的数据格式显示。
【注】:视图仅仅是进行数据的输出显示,通常在视图渲染过程是不会改变数据本身的,而只是进行格式化输出和显示。

ThinkPHP内置了一个基于XML的性能卓越的模板引擎 ThinkTemplate,这是一个专门为ThinkPHP服务的内置模板引擎,无论在功能或是性能还有易用性方面都比Smarty优秀。这是ThinkPHP手册的原话,在我使用了一段时间后,发现还是有些小bug存在的,不过倒是无伤大雅,还是很不错的模板引擎,17joys决定就采用ThinkPHP提供的这款模板引擎进行开发,如果习惯Smarty模板引擎的同学,也可以很容易的更换,稍后我会把配置使用Smarty的方法发布出来。

下面开始创建模板,模板目录默认是项目下面的Tpl, 模板主题默认是default,模板主题功能是为了多模板切换而设计的,如果有多个模板主题的话,可以用TMPL_DEFAULT_THEME参数设置默认的模板主题名。以后我们可以很方便的定义前台模板主题了。

为了对模板文件更加有效的管理,ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:
模板目录/模板主题/[分组名/]模块名/操作名+模板后缀

那针对Index模块的index操作,我们的模板存放路径:Tpl/default/Index/index.html
换做User模块的add操作,模板存放路径:Tpl/default/User/add.html

当然后台代码就不需要向前台那么复杂了,一般我们都会考虑使用分帧的框架搭建,不过17joys采用的是纯AJAX后台,为了AJAX的调用和更新页面的考虑,所以页面使用的是DIV+CSS布局。

<body scroll="no">
<div id="layout">
                <div id="header">
                        <div class="headerNav">
                                <a class="logo" href="#">17joyslogo</a>
                                <ul class="nav">
                                        <li><a href="#">切换角色</a></li>
                                        <li><a href="#">设置</a></li>
                                        <li><a href="#">反馈</a></li>
                                        <li><a href="#">帮助</a></li>
                                        <li><a href="#">退出</a></li>
                                </ul>
                                <ul class="themeList" id="themeList">
                                        <li class="t1" theme="default"><div class="selected">蓝色</div></li>
                                        <li class="t2" theme="green"><div>绿色</div></li>
                                        <li class="t3" theme="red"><div>红色</div></li>
                                        <li class="t4" theme="purple"><div>紫色</div></li>
                                        <li class="t5" theme="silver"><div>银色</div></li>
                                </ul>
                        </div>
                </div>
                <div id="leftside">
                <div id="sidebar_s" style="display:none;">
                        <div class="collapse">
                                <div class="toggleCollapse"><div>d</div></div>
                        </div>
                </div>
                <div id="sidebar">
                        <div class="toggleCollapse"><h2>主菜单</h2><div>收缩</div></div>
                        <div class="accordion">
                                <div class="accordionHeader">
                                        <h2><span>Folder</span>网站管理</h2>
                                </div>
                                <div class="accordionContent" style="display:block;">
                                        <ul class="tree treeFolder">
                                                <li><a href="tabsPage.html" target="navTab">控制面板</a>
                                                        <ul>
                                                                <li><a href="main.html">我的主页</a></li>
                                                        </ul>
                                                </li>
                                                <li><a href="w_form.html" target="navTab" rel="joys_menu">菜单</a>
                                                        <ul>
                                                                <li><a href="w_button.html">菜单管理</a></li>
                                                        </ul>
                                                </li>
                                        </ul>
                                </div>
                                <div class="accordionHeader">
                                        <h2><span>Folder</span>会员管理</h2>
                                </div>
                                <div class="accordionContent" style="display:block;">
                                        <ul class="tree treeFolder">
                                                <li><a href="tabsPage.html" target="navTab">会员管理</a>
                                                        <ul>
                                                                <li><a href="">会员资料管理</a></li>
                                                                <li><a href="">添加会员</a></li>
                                                        </ul>
                                                </li>
                                        </ul>
                                </div>
                        </div>
                </div>
                </div>
                <div id="container">
                        <div id="navTab" class="tabsPage">
                                <div class="tabsPageHeader">
                                        <div class="tabsPageHeaderContent">
                                                <ul class="navTab-tab">
                                                        <li tabid="main" class="main"><a href="#"><span><span class="home_icon">我的主页</span></span></a></li>
                                                </ul>
                                        </div>
                                        <div class="tabsLeft">left</div>
                                        <div class="tabsRight">right</div>
                                        <div class="tabsMore">more</div>
                                </div>
                                <ul class="tabsMoreList">
                                        <li><a href="#">我的主页</a></li>
                                </ul>
                                <div class="navTab-panel tabsPageContent">
                                        <div></div>
                                </div>
                        </div>
                </div> 
                <div id="taskbar" style="left:0px; display:none;">
                        <div class="taskbarContent">
                                <ul style="width:50000px"></ul>
                        </div>
                        <div class="taskbarLeft taskbarLeftDisabled" style="display:none;">taskbarLeft</div>
                        <div class="taskbarRight" style="display:none;">taskbarRight</div>
                </div>
                <div id="splitBar"></div>
                <div id="splitBarProxy"></div>
        </div>
 
        <div class="resizable" style=" display:;"></div>
        <div class="shadow" style=" display:; width:508px; top:148px; left:296px;">
                <div class="shadow_h">
                        <div class="shadow_h_l"></div>
                        <div class="shadow_h_r"></div>
                        <div class="shadow_h_c"></div>
                </div>
                <div class="shadow_c">
                        <div class="shadow_c_l" style=""></div>
                        <div class="shadow_c_r" style=""></div>
                        <div class="shadow_c_c" style=""></div>
                </div>
                <div class="shadow_f">
                        <div class="shadow_f_l"></div>
                        <div class="shadow_f_r"></div>
                        <div class="shadow_f_c"></div>
                </div>
        </div>
        <div id="alertBackground" class="alertBackground"></div>
</body>

这就是HTML代码部分,CSS部分暂时还没有整理完,有兴趣的同学可以自己尝试用CSS修饰一下,当然如果做出动态菜单效果的话,还需要JavaScript的帮助。当然大家也可以自己找一个写好了的后台HTML模板,在之前的一篇文章《17joys后台代码-初步搭建》中,我提供了一些后台模板,大家可以去下载使用。

作者:马明@PHP培训 修订1.0 2010-03

乐学PHP学院是国内专业的PHP培训机构,天津最好的PHP培训机构,拥有完整全面的PHP培训课程体系,使用自行开发的PHP内容管理系统作为授课案例,真实项目教学,还提供PHP教程、PHP视频、PHP人才、PHP开发等服务!

本文乐学PHP版权所有,未经批准转载必究。

排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载