DEDECMS有一个单页面的功能,可以生成完全不带模板的页面,支持DedeCMS的标签规则。
对于我来说DedeCMS提供的广告插件并不好用,因为不能把标签写在里面,这点和KingCMS的广告系统不一样,KingCMS的广告系统支持标签。
但DedeCMS的单页面却支持标签,不支持模板,调用的时候也不是特别的方便,只能自己写<!--#include file= "xxx.shtml"-->这样的代码在模板里,而且每次都要写死才行,修改的时候不能修改文件名,但这样勉强可以满足我的需要了。这里我为什么需要这个功能主要是为了更新方便公用部分都用SSI来调用,这样生成快,更新也快。
DedeCMS有个好处是编辑器有两种,一个是Dede自己开发的,一个是FCK,我需要在单页管理的时候用上编辑器,而原本是没有的,于是参考了篇文档进行修改了。
1、单页文档管理里增加一个单页,比如:公司简介。
2、修改模板,在根目录下》dede》templets内
templets_one_add.htm(增加新页面模板)
此句:
- <textarea rows="20"></textarea>
改为:
- <?php GetEditor("body",$body,450);?>
templets_one_edit.htm(更新页面模板)
此句:
- <textarea rows="20"><?php echo $row['body']?></textarea>
改为:
- <?php GetEditor("body",$row['body'],450);?>
说明:上面是调出系统使用的编辑器,便可以使用图片上传,文件上传等类似发布新闻一样的功能。
3、在网站栏目管理内增加一个同名栏目,“栏目属性”设为单独页面。
4、为了使两者可以相互连接,采用“文件保存目录”项存放单页文档的ID号,。
5、打开include目录,新增一个文件inc_extend_functions.php,这是dede开放自定义函数的接口文件。
增加下列代码:
- //调用单页的内容
- 参数说明
- $dsql :数据库操作对象。
- $aid :当前栏目编号。
- function ShowOnepage($dsql,$aid) {
- if (empty($aid)) $aid=0;
- $row = $dsql->GetOne("Select typedir,ispart From dede_arctype where ID=$aid");
- $aid = $row['typedir'];//取出单页文档的编号。
- if ($row['ispart']==2){ //判断当前栏目是否是单独页面
- $row = $dsql->GetOne("Select body From dede_sgpage where aid=$aid");
- $body = $row['body'];
- }
- if (empty($body)) $body="暂无";
- retu $body;
- }
- //=====================
6、打开plus目录》list.php文件
增加如下代码:
- //调用单页文档的内容
- $body = ShowOnepage($dsql,$tid);
- //=============
7、因为网站风格一般是统一的,所以我们可以为单独页面做一个通用模板(当然也可以做很多模板使用),这个模板可以使用dede的所有规定标签。
8、这一步是所有操作的核心目的,就是在模板你要调用单页文档内容的位置,增加一个标签:
{dede:global/}
9、最后在“高级选项”内加载,至此所有工作完毕。
总结:
此功能实现不需要让用户多次在本地编辑生成单页文档的代码,只需像上传新闻一样上传相关内容便可有各种不同的单页。
其实dede完全可以让两者合二为一,简化操作。
一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。