# 插件文档

学习掌握模板文档里的标签，我们可以快速的查询数据和遍历数据。

了解模板引擎是如何实现的 ${a.title length=(12)} ${a.title length=(12)}
<#if article?exists>

## ${article.title!} ${article.views?c}

${article.content!}
<#else>

## 了解模板引擎是如何实现的

实现原理：
当用户请求一个栏目时候，程序会从数据库中查询出该栏目对象(包含：栏目名称、描述、关键字、模板、内容类型等等信息)， 然后传递给我们的模板引擎，模板引擎处理会进行一个校验(是够存在模板、缓存中是否已经加载模板、模板是否修等等)，
具体模板目录是在ROOT/themes/模板名称/...
注意：模板页面是在创建栏目时候指定栏目模板和内容模板的。

#### 一个简单的例子：

    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="description" content="${r"$"}{current.description!}">
        <meta name="keywords" content="${r"$"}{current.keywords!}">
        <meta name="author" content="marker">
        <title>${r"$"}{current.name!}</title>
        <link href="css/main.css" rel="stylesheet" type="text/css">
        <script src="js/bootstrap.min.js" type="text/javascript"></script>
    </head>
    <body>
       自动校正绝对地址：
       <img src="images/logo.jpg" alt="mrcms logo" />
    </body>
    </html>