徜徉在卡萨布兰卡 發表於 2023-9-18 00:00:00

dedecms网页模板编写介绍

<p>
        <strong>一 关于标签</strong><span> </span><br><br><span>dedecms标签:就像html标签,不过是织梦自定义的,由标<u>签名</u>,属性,和InnerText构成。 </span><br><br><span>先看一段代码templets/index.htm </span></p>
<div>
        <p>
                <span><u>复制代码</u></span></p>
        <p>
                代码如下:</p>
</div>
<p>
        <br>
        网站名:{dede:global name=cfg_webname/}&lt;br/&gt;&lt;br/&gt; <br>
        &lt;strong&gt;最近登陆的会员&lt;/strong&gt;&lt;br/&gt; <br>
        {dede:memberlist row=6 signlen=30} <br>
        &lt;a href="" target="_blank"&gt; <br>
        &lt;img src="" width="52" height="52"/&gt; &lt;br/&gt; <br>
        &lt;/a&gt; <br>
        {/dede:memberlist} </p>
<p>
         </p>
<p>
        通过运行网站主页index.php查看结果。</p>
<p>
        像dede:global就是标签名,name=cfg_webname是属性,在dede:memberlist标签间的就是InnerText。在织梦中,InnerText又称为底层模板。</p>
<p>
        短标签:像global这种只有单边的标签叫短标签,表示一个元素的值。</p>
<p>
        块标签:像memberlist这种成对的标签叫块标签,一般表示一系列的纪录,像上面的代码就表示列出6个会员的默写信息。研究一下会发现这些记录来自数据库。</p>
<p>
        这个代表记录中的某个属性值。</p>
<p>
         </p>
<p>
        总结一下,编写模板时用到这些语言</p>
<p>
        Html代码+新增的dedecms标签语法。</p>
<p>
        Css和Js没有新语法,以外部文件的方式调用。</p>
<p>
        Php,mysql的代码大大减少,与数据库查询有关的代码大部分被标签语法。比如说调用memberlist标签,就等价于访问数据表dede_cms。Php主要用于插件等新模块的编写和修改。</p>
<p>
        以上只是织梦标签语法的简述,详见模板手册</p>
<p>
        <font color="#5d5d5d">标记手册1</font></p>
<p>
        <font color="#5d5d5d">标记手册2</font></p>
<p>
        <font color="#5d5d5d">站长百科</font></p>
<p>
        <strong>二 模板的种类</strong></p>
<p>
        先说一下各个文件夹</p>
<p>
        System文件夹,里面放的是默认底层模板。当我们在块级标签间不写任何东西时,就会自动被调用来作为块级标签的InnerText。</p>
<p>
        Plus文件夹,里面放的是被root_dir/plus里的php调用的模板。经过一些研究也许能仿写这些模板的代码,待探究。</p>
<p>
        Default文件夹,里面放的是默认模板,是网页显示主要的模板,如果在网上下一个其他的dedecms模板(非官方默认模板),可能里面只是一个templets文件夹,因为这对外观已经足够了。下面是default文件夹的分析。</p>
<p>
        我以前只用到index.htm,其他的文件有什么用呢?</p>
<p>
        我认为这些文件可以分成两类:</p>
<p>
        第一类不是一个完整的页面,被include的(由于有了dedecms标签,html文档中也可以include)。如head.htm,footer.htm等。</p>
<p>
        第二类就是完整的页面了,呵呵。</p>
<p>
        而第二类又分为封面(index)模板,列表(list)模板,文档(内容,article)模板。文件夹中的index_XX.htm就是封面模板,依此类推。</p>
<p>
         在root_dir/index.php中的SetTemplet处把路径改为dirname(__FILE__) . "/templets/default/</p>
<p>
        list_article.htm",显示的内容不太完整。这些模板要怎么用呢?一下是我探索的办法:</p>
<p>
        打开dedecms的网站后台管理(对了,请先安装安装数据体验包,这样才有测试数据)</p>
<p>
        点击网站栏目管理</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/fe4a4d13ff276c393be88aa9144e24d7.jpg">    </p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/d43c75db0405bc922f7f73aa8439af95.jpg">在网页基础中点更改</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/e199b5623251b0e1c2da4bfbfacf3e97.jpg"></p>
<p>
        常规选项中栏目属性是频道封面</p>
<p>
        再选择高级选项</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/76a01a58b9f032ea74d93151bd504fad.jpg"></p>
<p>
        高级选项中封面模板为{style}/index_article.htm</p>
<p>
        如果你安装的数据和我是同一版本,就会知道网页基础是个一级栏目,底下组织了很多文章。</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/7ee46555283e958bed2731e48e44d794.jpg"></p>
<p>
        回到网站栏目管理</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/d43c75db0405bc922f7f73aa8439af95.jpg"></p>
<p>
        点击预览,会看到一个关于网页基础栏目的页面。由于常规选项中栏目属性是频道封面,高级选项中封面模板为{style}/index_article.htm,所以网页调用index_article.htm作为模板。</p>
<p>
        依此类推,如果在常规选项中栏目属性是最终列表栏目,高级选项中封面模板为{style}/list_article.htm,则会调用list_article.htm作为模板,文档模板也依此类推。</p>
<p>
        <span>模板和栏目的关系</span></p>
<p>
        每一个栏目都有自己的三个模板,而同一个模板可被多个栏目所用。也就是说,模板只是提供了样式,但内容终究来至数据库。这也说明了为什么在root_dir/index.php中的SetTemplet处改路径不能显示完整的内容,因为模板没有绑定到某个具体栏目。这也是织梦作为内容管理系统的特点,把样式和内容分离。</p>
<p>
         </p>
<p>
        再来<u>说说</u>文档模板,在常规选项-&gt;栏目属性处看到。作为频道封面栏目不能发布文章的。那我们选一个最终列表栏目,如”Html”</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/ad553f5d507a2ba7d8dce980f433ba0d.jpg"></p>
<p>
        点击更改。看到常规选项中栏目属性是最终列表栏目,点高级选项,就能看到文档模板为{style}/article_article.htm,所以Html栏目下所有的文章都会以这个模板显示。</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/d6c7d848385048ba2eac3140d3860cd5.jpg"></p>
<p>
        点击内容管理里的普通文章</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/fe4a4d13ff276c393be88aa9144e24d7.jpg"></p>
<p>
        选择一篇Html栏目下的文章,点预览(右边的那个绿色小球)</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="dedecms网页模板编写介绍" alt="dedecms网页模板编写介绍" src="https://zhuji.jb51.net/uploads/img/20230519/183c679fabfa490fca9b62d0e212e2b9.jpg"></p>
<p>
        这时看到的是就是article_article.htm模板代表的样式。</p>
<p>
        到这里,应该就会如何显示/调试封面模板、列表模板和文档模板了。</p>
<p>
         </p>
<p>
        那么<span>如何编写模板</span>,当然要先学过标签语法</p>
<p>
        A、function 扩展,如{dede:标记名称 function=”函数名(@me,其它参数)” /}</p>
<p>
        B、在Innertext中直接编程,也就是之前一直用的方法</p>
<p>
        再读一下index_article.htm,list_article.htm,article_article.htm。读源码是最好的学习方法^_^</p>
<p>
         </p>
<p>
        可以看见templets/default中大部分的模板都是这三类,可见其重要性。那么有index_article.htm,list_article.htm,article_article.htm就够了,其他又是干什么的。</p>
<p>
        这就要讲到频道,<span>频道</span>是栏目的类型,文章(article)频道、<u>图片</u>(image)频道、软件(soft)频道(实质是一个下载频道)、商品(shop)频道等。频道是一种内容模型,比如动漫、风景都能用图片频道。所以就会有index_article.htm,index_ image.htm,index_ soft.htm,index_shop.htm。每个频道都有自己的三种模板。</p>
<p>
        总的来说,写网页具体要做的就是为每个频道编写网页模板。</p>
<p>
        关于模板的内容就分享到这里了。</p>
頁: [1]
查看完整版本: dedecms网页模板编写介绍