2、发布器模板.md 1.9 KB

模板分类

分类思路与老多玩发布器的基本一致,只是更精简些。

  • 普通模板

    不含变量的HTML模板,可以直接当最终页使用

  • 标签模板

    在普通模板的基础上,加入了根据标签遍历文章列表的foreach语法,可能带有列表分页代码,并在页面中加入了跟标签有关的内容。

    此类模板,不能直接作为最终页使用,应配合具体的标签ID,才可输出具体的最终页。

  • 文章模板

    在普通模板的基础上,加入了单篇文章的多个字段数据渲染。

    此类模板,不能直接作为最终页使用,应配合具体的文章ID,才可输出具体的最终页。



模板语法

废除了velocity,采用了smarty2.5,并延用了老多玩发布器的部分括号语法。

括号语法

  • 包含

    • {[模板=xxx]}
    • {[模板=xxx;专区=yyy]}
    • {[模板ID=dddddddddd]}
      > 新增模板时,将自动把{[模板]}换成{[模板ID]}格式,保存到数据库,编辑器展示时,恢复为{[模板]}格式。 > >(核心代码: Tpl::replaceIncludeGramToHuman()。这点和老多玩发布器不太一样。即便子模板改名,也不影响母模板)
  • 分页

    {[分页数=25]}

    用法跟老多玩发布器的一样

文章及标签模板常用语法

详见 svn://svn.webdev.ouj.com/biz/cms/doc/标签语法.txt



模板生成

代码位于后台 /tpl/edit 的POST处理分支

过程

  • 检查模板名、路径格式、专区等基本信息
  • 检查模板语法错误
  • 检查潜在的模板递归嵌套 > 代码:Tpl::recurseTpl()
  • 生成模板 > 代码:Tpl::genStatic()
  • 提供立即预览支持 > 代码:/tpl/preview
  • 保存模板并生成链接 > 代码:Tpl::decideFullSavepathAndLink()