【发布时间】:2014-03-20 15:18:50
【问题描述】:
我的网站有一个小的coldfusion 部分,所有部分都使用类似的js 和css 文件以及页面结构。该代码当前针对每个文件重复,我想将其分解并使用母版页和模板进行设置。
Master.cfm 页面:
<!--- Master template, includes all necessary js and css files.
Expects following variables to be defined:
- pageName - name of the file to be loaded as the body of the page
- title - text to be used as the title of the page and as the header text in the header bar --->
<cfinclude template="_lockedPage.cfm" />
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>#title#</title>
... all script and css links here ...
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.3.2.js"></script>
... etc ...
</head>
<body>
<div data-role="page">
<div class="headerDiv" data-role="header" data-theme="b" data-position="fixed">
<a id="backButton" data-role="button" data-direction="reverse" data-rel="back" data-icon="arrow-l" data-iconpos="left" data-theme="a">Back</a>
<h1><cfoutput>#title#</cfoutput></h1>
<a href="index.cfm" data-role="button" data-icon="home" data-iconpos="left" data-theme="a">Home</a>
</div>
<div data-role="content" class="container">
<cfinclude template="#pageName#.cfm" />
</div>
</div>
</body>
</html>
然后页面示例将是这样的。 CustomerSearch.cfm:
<cfscript>
title = "Customer Search";
pageName = "_customer-search";
include "Master.cfm";
</cfscript>
然后我需要一个包含页面所有正文内容的 _customer-search.cfm 页面。
这意味着我们当前拥有的每个页面都需要 2 个文件 - 定义变量并包含母版页的外部页面,以及具有单个页面内容的模板页面。
这是一个好的逻辑结构吗?有什么可以改进的吗?
【问题讨论】:
标签: templates coldfusion logic master-pages