核心原理
织梦的模板调用机制是:栏目优先,当系统需要显示一个栏目列表页时,它会遵循以下顺序查找模板文件:
- 首先检查:当前栏目是否在“栏目管理”中设置了自定义的模板。
- 其次检查:如果当前栏目没有设置,则检查其所属的顶级父栏目是否设置了模板。
- 最后检查:如果以上都没有,则使用系统默认的栏目列表模板,即
/templets/default/list_default.htm。
理解这个原理后,你就能灵活地管理整个网站的模板层级了。
第一步:创建你的专属栏目模板
在指定模板之前,你必须先创建好这个模板文件。
-
模板存放位置: 所有自定义的栏目模板文件都应该存放在织梦模板目录下的
plus文件夹中,这个文件夹专门用于存放各种特殊页面的模板。- 路径:
/你的网站根目录/templets/plus/
- 路径:
-
模板文件命名: 为了方便管理,建议使用有意义的文件名。
news_list.htm(用于新闻列表页)product_list.htm(用于产品列表页)job_list.htm(用于招聘列表页)
-
编写: 模板文件其实就是一个HTML文件,里面嵌入了织梦的模板标签,一个标准的列表页模板通常包含以下部分:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>{dede:field.seotitle/}_{dede:global.cfg_webname/}</title> <meta name="keywords" content="{dede:field.keywords/}" /> <meta name="description" content="{dede:field.description function='html2text(@me)'/}" /> </head> <body> <!-- 这里是栏目的自定义头部,比如一个特定的Banner --> <div class="custom-header"> <h1>{dede:field.typename/}</h1> <p>这是 {dede:field.typename/} 栏目的专属头部</p> </div> <!-- 这里是列表内容区域,使用织梦的循环标签 --> <div class="news-list"> <ul> {dede:list pagesize='10'} <li> <a href="[field:arcurl/]">[field:title/]</a> <span class="date">[field:pubdate function="MyDate('Y-m-d', @me)"/]</span> </li> {/dede:list} </ul> </div> <!-- 这里是分页 --> <div class="page"> {dede:pagelist listsize='5' itempage='5'/} </div> <!-- 这里是栏目的自定义底部 --> <div class="custom-footer"> <p>这是 {dede:field.typename/} 栏目的专属底部内容。</p> </div> </body> </html>关键标签说明:
{dede:field.seotitle/}: SEO标题{dede:field.typename/}: 当前栏目名称{dede:list}: 循环标签,pagesize='10'表示每页显示10条。[field:arcurl/]: 文章链接[field:title/]: 文章标题[field:pubdate .../]: 文章发布日期{dede:pagelist .../}: 分页标签
第二步:在后台为栏目指定模板
模板文件创建好后,就可以在织梦后台为栏目指定它了。
-
登录织梦后台,进入「核心」 -> 「栏目管理」。
-
找到并编辑你想要设置模板的栏目,你可以点击栏目名称,或者点击右侧的「修改」按钮。
-
进入栏目编辑页面后,向下滚动,找到「高级选项」部分,并点击展开。
-
在「高级选项」中,找到「列表模板」这一项。
- 输入模板路径:在输入框中,填写你第一步创建的模板文件的路径。
- 路径格式:
plus/你的模板文件名.htm - 例如:如果你创建了
news_list.htm,那么这里就填写plus/news_list.htm。
-
填写完成后,点击页面底部的「确定」按钮保存修改。
第三步:验证效果
完成设置后,你需要清空一下缓存才能看到效果。
-
清空缓存:
- 在后台顶部菜单找到「系统」 -> 「一键更新网站」。
- 在更新页面中,勾选「更新栏目HTML」和「更新缓存」,然后点击「开始更新」。
-
访问栏目页面:
- 在浏览器中,点击你网站的导航栏,进入刚刚设置模板的栏目。
- 如果一切正常,你应该能看到页面显示的是你自定义的模板样式,而不是系统默认的样式。
进阶技巧与常见问题
为不同栏目使用不同风格
假设你有“新闻中心”和“产品展示”两个栏目,希望它们的风格完全不同。
- 操作:
- 为“新闻中心”创建一个模板
news_list.htm,并在其“列表模板”中指定为plus/news_list.htm。 - 为“产品展示”创建另一个模板
product_list.htm,并在其“列表模板”中指定为plus/product_list.htm。
- 为“新闻中心”创建一个模板
- 效果:访问这两个栏目,会分别加载各自的专属模板。
为栏目指定文章内容页模板
除了列表页,你还可以为每个栏目指定独立的文章内容页模板。
- 位置:同样在「栏目管理」 -> 「修改」 -> 「高级选项」中。
- 选项:找到「页模板」。
- 模板存放页模板通常存放在
/templets/目录下,或者你自定义的模板目录里(如/templets/default/)。 - 命名:
article_article.htm。 - 指定:在「页模板」中填写
default/article_article.htm。
如果模板不生效怎么办?
- 检查路径:确保「列表模板」中填写的路径和文件名完全正确,包括文件后缀
.htm。 - 检查文件位置:确认模板文件确实上传到了
/templets/plus/目录下。 - 清空缓存:这是最常见的原因,务必执行「一键更新网站」中的「更新缓存」操作。
- 检查模板标签:确保模板文件中的织梦标签(如
{dede:list})语法正确,没有拼写错误。
通过以上步骤,你就可以轻松地为织梦CMS中的任何一个栏目指定独立的模板,让你的网站更具个性化和专业性。
