极限软件 >> 极限网上商店系统 >> 在线手册 >> 模板设计手册

模板比较

极限模板到底有多强大?有什么与众不同吗?

或许一些关于极限模块形容和描述还并不能真正解答您的这些问题,下面让我们把其它大家常见的模块类型与极限模板做个比较,我们相信您一定能感受到极限模板的魅力。

下面,分别从极限模板构成的五个主要要素:模板方案模板页模板块模板函数模板标签,分别进行比较。

一、完善的模板方案

  • 概念清晰:一个系统的所有界面组成就是一个方案,换一个方案就为整个系统换了一套界面。
  • 多方案并存,使用简单:系统默认自带多个方案,随时可以更换整套系统界面,只需轻松一点。
  • 可传递的模板方案:充分的考虑了模板方案在各用户中的传递及模板库的建设,您可以轻松导入和导出方案。

二、可增加的模板页

  • 可增加的模板页
    市面上我们所看到的支持模板功能的其它系统,其模板页的个数基本都是固定的,不允许用户自己增加的,用户只能修改。这意味着用户只能有它固定的常用的那几个页,而不能再创造。新增模板页有什么好处呢?新增模板页,相当于新增一个动态的网页。使用此功能,您就可以增加一个如“特价商品页”在此页显示50个特价商品,您可以增加一个如“最新上架页”在此页显示50个最新的商品,您可以增加一个“精选频道”在此页显示你的第二个首页,等等。您可以使用此功能来增加系统原来没有自带的页面。所有增加的模板页中,都支持公用的函数和标签,与系统自带的模板页一样使用。只要您有创意,各式各样的页面,尽在掌握。

三、可自定义的模板块

  • 模板块的优势
    我们可以看到许多其它系统也具有模板功能,但其模板的架构中,居然没有模板块的功能。如果您还不了解模板块的作用,可见模板块章节。常用于模板块设计的地方有如:页面的头部导航区、页面尾部导航区、登录区、公告区、功能列表区,等等。没有模板块意味着所有模板页设计中公用的部分代码都得重新写,如果公用的部分需要改动哪怕只是一点点,要把所有有使用此处的模板页都进行修改。没有模板块的功能,给设计人员设计及修改完善时带来的将是大量的时间上的浪费。没有模板块式的框架设计,您的页面将是一大堆的代码,一天比一天更难看懂。
  • 可定义的模板块
    在具有模板块功能的部分其它系统中,我们发现它们的模板块居然是固定的。这里的固定主要是指模板块的功能和模板块的个数是固定的。固定模板块的系统按功能给您分配了几个常用的模板块,或把整个系统的所有页通过整理规结,每页都由固定的几个块来组合,这样您就可以用块来组装自己的每个模块页。但要注意到的是,其块是固定的,不允许新增的,名称是固定的,这样会有什么问题呢?首先,并不是所有用户需要的块都是一致的,如网页头部块,一般大家都只设一个头部,而有些用户希望把头部分为两个块,一个LOGO块,一个BANNER块,这样在不同栏目就可以显示不同的LOGO,等,固定的模板块永远满足不了用户对块的需求。其次,以登录块为例,如果我模板的首页登录块与在内容页登录块不同,一个大些,一个小些,一个有显示“您好”,一个没显示,固定的就没法实现了。极限模板块是支持完全自定义的,设计人员完全可以跟据自己的需要来设定块的个数及每个块里的内容。
  • 支持函数和标签的模板块
    有些系统的模板架构声称,可以自定义模板块,但我们发现其模板块中只允许使用一些常量,只允许使用标准的HTML代码或内容文字,而并不能与现有数据交互。这只相当于是自定义标签,而不是自定义模板块。极限模板块不但支持最基本的那些常量,还支持函数和标签,可以在模板块中使用函数和标签,模板块的功能与模板页功能一致,相当于是模板页中一大段代码的集合。真正使模板块的功能发辉到极致。

四、非同寻常的模板函数

  • 真正的数据与界面设计的完全分离
    但凡构建于模板的系统,其目的都是想通过数据与界面的分离设计来实现更丰富的界面效果,以满足不同用户的个性化需要。但我们看到很多的模板架构,都还只是一个非常简单的模板架构,只是通过实现一些样式或图片文件的修改,来换一个颜色而已,整体的网页框架基本都不能变的,这种模板架构,并不能称为界面与数据分离的模板,因为它连最基本的框架都不能变。的确我们也看到了一些更高级些的模板架构,但它们是否做到了真正的数据与界面设计的分离,是否是完全的分离呢?下面让我们来看一个,大家所常见的模板函数,商品列表函数代码示例如下:
    {$ProductList:-1,-1,false,0,0,false,false,,0,0,1,false,0,1,true,false,false,true,false,true,false,4}
    上面的函数的格式,我想大家应该都清楚了,“{$}”这个是关键符号,“ProductList”这个是函数名,“:”号后的是函数的参数。初看起来,其参数很多功能很多,而实际其架构决定了它永远无法实现数据与界面的完全分离,只能说是部分分离。因为用户能实现的效果,都必须在其固定参数的设置之中,如果参数没有此设置,则你的效果实现不了,而客户的需求是无限的。
    更形象一些,让我们看一下它不能实现的例子。一般他们开发人员都把列表以表格的形式呈现,定义了第一列为标题,第二列为时间,等,参数主要是起到取什么数据的作用,而不是主要定义界面的。不能实现的太多,举几个如下:
    • 如果我想在列表中取出作者,想取出点击数,想取出摘要,想取出你预设中没有的呢,它不能实现。
    • 如果我想第一列为时间,第二列为金额,第三列才是标题,与你预设的不一样呢,它不能实现。
    • 如果我想定义每列的列宽呢,对每列设置对方方式,对每列设置颜色,字体大小,粗细等样式呢,它不能实现。
    • 如果我不想用表格,我想用<br>,我想用<p>,或其它的呢,它不能实现。
    • 如果我想在每行加一个我自己的文字,加一个我自己的链接,加一个我自己的图标,加一个我自己的内容呢,它不能实现。
    • 如果我想在每行都使用不同的效果呢,如TOP10列表,我想有一个1,2,3...10的图标在标题前,它不能实现。
    • 等等。。。
    太多关于界面上的需求,可以说它是基本无法实现,其结构决定了它只是能实现一些基本的效果。就只上面的一个例子,已经完全可以得到其结构并没实现完全的数据与界面的分离,更别说一些高级的处理。下面让大家来体验一下我们的模板函数结构的一个典型例子,以对比:
    <!-- Begin:ProductList(col:1;num:10;cid:{cid}) -->
    <tr>
      <td><a href="{url}">{title:30}</a></td>
      <td>{time:yyyy年mm月dd日}</td>
      <td><b>共<font color=#ff0000>{clicktimes}</font>次</b></td>
    </tr>
    <!-- End:ProductList -->
    以上例子代码中,红色部分为函数体,函数内部为数据与表现形式的结合。所有函数的参数,基本只是定义了取数条件,根据取数条件得到数据标签,而所有的界面效果及要取哪些数据,完全都由界面设计人员自己设计。真正的界面设计与数据的完全分离,想怎么设计就怎么设计。更多有关模板函数的超级功能,请见模板函数章节
  • 便于记忆的样式型参数
    从上面的例子代码中,我们可以看到,初看一下它们的函数,谁能知道其每个参数是什么意思?当看了说明文档之后,谁能马上记住每个参数的含义及顺序呢。就算没有用到某参数,也要保持其顺序及个数,实在是太累太累了。再看看我们的参数串,与CSS样式的定义风格相同,一个参数名对应一个值,与顺序无关,每个值都有默认值。不要一分钟您肯定记下了。
  • 支持嵌套的函数
    极限模板函数大部分都是支持嵌套的。您可以使用这种关系制作出各种不敢想象的效果。我们看到有些其它的系统程序也具有嵌套的功能,但其只是针对某种效专门制作的嵌套,如专门针对显示上级下级二级分类循环制作的函数,专门针对取分类循环商品制作的函数。这些都是非常有限的嵌套,非常的不灵活。极限模板大部分函数支持互相的嵌套,可以A包含B,也可以B包含A,甚至于取三级的或更多级的嵌套。让我们来看看三级嵌套是什么样的:
    <!-- Begin:Class(pid:{pcid}) -->
      分类名:{pc_Name}
      <!-- Begin:SubClass(pid:{pc_id}) -->
        子类名:{pcs_Name}
        <!-- Begin:ProductList(num:10;cid:{pcs_id}) -->
          商品名称:{p_Name},所属分类:{pc_Name}-{pcs_Name}
        <!-- End:ProductList -->
      <!-- End:SubClass -->
    <!-- End:Class -->
    上面的三级嵌套,实现了按当前分类取下级分类循环,下级再取子类,再取所属子类的TOP10个商品列表。特有灵活的函数嵌套功能,又将是您取数的一个新起点。
  • 支持判断的函数
    绝对始创的支持判断的函数,为极限模板架构中心思想“数据与界面完全分离”画上了完整的句号。让您感受到模板居然还可以这样设计。支持判断的函数指的是什么?有什么作用呢?让我们来看一下下面的例子代码:
    <!-- Begin:ProductList(num:3) -->
    <!-- Begin:Is(row:1) -->
    <img src="1.gif">
    <!-- End:Is -->
    <!-- Begin:Is(row:2) -->
    <img src="2.jpg">
    <!-- End:Is -->
    <!-- Begin:Is(row:3) -->
    <img src="3.gif">
    <!-- End:Is -->
    <a href="{p_url}">商品名称:{p_Name}</a>
    <!-- End:ProductList -->
    以上例子,实现取TOP3个商品,在排名第1的商品名称前显示1.gif图片,在排名第2的商品名称前显示2.jpg图片,在排名第3的商品名称前显示3.gif图片。一个全新效果的排行榜出来了。例子代码中的兰色部分即为判断函数,当然不只有这一种应用,函数非常的多,用于实现各种应用需要。如:Is(LoopFirst),是否第一条记录;Is(LoopLast),是否最后一条记录;Is(Require),是否必填字段;Is(FirstPage:1),是否分页的第1页;等等。您完全可以定制自己的完全个性化的分页导航,您不再一定要在必填字段处加1个红色的星号,用两个绿色的图片星来表示也是可以的;等等这些,只是说明,您的界面您做主。

五、灵活的模板标签及标签属性

  • 支持属性的标签
    极限模板首创的支持属性的标签,使您完全可以根据自己的需要来使用内容标签的一些常用属性。如:{title:20},即取20个长度的标题;{time:yyyy-mm-dd},即格式化时间为yyyy-mm-dd的格式。所有的内容标签都支持此两种类型的属性,想在哪用就在哪用。
  • 支持函数参数的标签
    极限模板中有一种称为数字标签类型的标签,甚至可以在函数的参数中使用。您可以在静态的网页模板中编程了。这是一个全新概念,是极限模板架构所独有的。通过此功能,您可以灵活的利用各个函数。格式如:ProductList(cid:{c_id}),其中ProductList是一个商品列表函数,{c_id}即是一个数字标签,在此做为函数的参数值使用。充分利用数字标签的新特性,您的页面可能调用的函数将更加的丰富多采。