DEDECMS教程_DEDECMS二次开发
- 格式:pdf
- 大小:75.85 KB
- 文档页数:1
织梦--dede1.http://localhost/文件夹名/后台目录名(自定义办法如下)修改后台目录的办法进入安装目录以后,把dede后台控制目录文件夹,2.网站的三元素:标题、关键字、与keyword在系统参数中我们可以修改网站标题、站点关键字、和站点描述等关闭图片水印也在系统参数里面当我们想做一个单页调用网上已经做好的网页可以在文件保存目录这一栏目中,键入需要链接的网址这几个目录我们一定要记住,方便我们以后对织梦的两次开发这几个文件控制具体网页的各个部分当我们修改新的模板时我们需要把新建模板的名称在系统参数这一栏里面就行修改同时,在生成主页这一栏我们也要在选择主页模板这一栏,把这个名字改一下。
或则使用一个标签{style} 就可以不用理会给模板文件夹叫什么名字了系统会通过这个标签自动获取这是几个我们必须要记得标签以至于我们可以正常的调用列表与文章内容[field:标签名/] {dede:field.标签名}当我们想从新安装dedecms时我们只需要把已安装的程序文件中,找到www目录下的install文件夹下的index.php.bak 与install_lock.txt文件即可我们首先要做的是把index.php.bak进行从命名为index.php,把install_lock.txt文件删除,就可以从新进行安装了这是我们在二次开发时所用到的几个必须的工具完成了这几步就算是简单的入门啦Wamp环境是我们要懂得window+appserv+mysql+php输入要仿制的网站的网址,加载相应的图片。
1.首先2.网站标题的调用站点描述:可以70-80个字Css的正确调用织梦图片调用的路径~~~因为一些js代码,一些功能或则照片调不出来,我们可以把代码从,js文件中复制到显示的界面进行修改即可实战操作1.站点根网址的改变方法<a href=”#”></a>这是一个空连接的意思这是提取文章头部内容的方法,在参数列表中找到对应的标签即可这是文章列表调用的几种方法增加这个变量以后,我们就可以在其中加入文字,来实现公告与网页上方文字的自动更新这是修改网页链接常用到的地方的这是修改友情链接的地方调取头部与尾部以及一些相似内容的模块针对于一些导航具有特定的属性的 <li class=” ”></li>这是封面页经常用到的地方这是在文章列表页时用到的标签内容页标题调用的方法文章内容页正文调用的标签这是制作分页时常用到的代码Page.css是保证分页能正常显示的前提,需要把其中控制分页显示的代码调用到指定的页面当中针对我们在网站上传入的图片有水印,我们可以在这里设置来消除水印这是调取文章缩略图时常用到的标签target=”_blank”是控制页面在一个新的页面中打开,这样可以提供用户体验限制列表,按最新发布时间排序修改网页列表或则滚动文字中文字的颜色我要保证自己的网站不被别人挂黑链接保证网站的安全备份数数据库网站的成功与虚拟主机的选择有很大的关系我们在本地做好的网站,准备上传到数据库中时,我们需要这些信息,域名解析需要一段时间才可以生效使用ftp工具上传上的压缩文件不能直接解压缩,需要我们登陆后台以后使用文件解压缩功能,对上传到服务器空间上的文件进行解压缩在我们上传到服务器空间后需要对程序进行重新的安装,我们需要将文件index.php.bak 改名成index.php 同时把文件install.lock.text文件删除,即可对成寻进行重新安装这里面信息也要修改否则,也会出现错误哦操作修改模板风格以及选择主页模板这里的名称先更新一次然后再把名字换成原来的再次更新就可以了1首先是删除安装目录中一些没有用到或则用不到的文件夹2.修改这个文件这是数据库配置文件把它改成只读的权限、3.修改用户登陆密码的办法修改用户名的方法,需要我们在数据库中进行修改清除浏览器缓存的方法这是我们需要做的几个步骤如何取消服务器/主机空间目录脚本的执行权限如何取消服务器/主机空间目录脚本的执行权限网站安全中,对目录的执行权限是非常敏感的,一般来说,可以写入的目录是不能够拥有脚本的执行权限的,像DedeCMS系统,可写入的有两个目录data、uploads,data目录主要是基本配置文件和缓存数据,uploads则是附件上传保存的目录,本篇将针对不同服务器环境来介绍如何取消这两个目录的执行权限,当然我们也建议用户其他一些生成纯静态html的目录,拥有可写入权限的也统统去除执行权限,这样系统会更为安全。
DedeCMS二次开发必备基础:•非常熟悉HTML•熟悉DIV+CSS的布局•扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用•熟悉MYSQL,掌握SQL语言DedeCMS二次开发学习过程•理解CMS是什么•熟悉DedeCMS的功能(如:栏目的分类,文档管理,模型的使用,系统的设置等常用的功能)•掌握DedeCMS的模板标签使用及原理•DedeCMS目录结构分析熟悉每个文件夹里面主要装什么文件,这样在二次开发的时候知道在哪个文件夹下的什么文件修改目录结构摘要:./a 生成文件存放路径./data 缓存文件及数据中心/admin 管理后台数据/backupdata 备份数据/cache 缓存文件/enums 级别联动数据,JS,枚举类型的缓存文件/js 常用的JS/mark 水印相关文件/module 模块安装文件/rss Rss相关/sessions Session 存放路径/textdata 文本数据/tplcache 模板缓存/uploadtmp 上传文件缓存位置/ziptmp zip包解压缓存位置……•DedeCMS文件结构分析熟悉每个文件的基本功能,方便做修改,知道每个文件的大概作用之后,可以方便的对文件进行修改文件结构摘要:common.inc.php 数据库配置文件config.cache.bak.php 后台系统配置备份config.cache.inc.php 后台系统配置文件缓存downmix.data.php 采集混淆缓存文件mysql_error_track.inc MYSQL错误��志safequestions.php 安全问题sitemap.html 站点地图sys_pay.cache.php 支付网关配置template.rand.php 随机模板设置……•DedeCMS数据库结构分析,至少要熟悉每个表的作用熟悉每个表的作用,了解几个核心表的设计及字段的含义,方便拿到新的需求之后,能快速的判断是否加字段,还是新建表来处理。
基于DedeCMS技术二次开发高校精品资源共享课网站平台杨德义;韩红宇
【期刊名称】《黑龙江科技信息》
【年(卷),期】2013(000)035
【摘要】DedeCMS技术目前在开源cms领域发展是相当成熟的一门技术,利用此技术来二次开发高校的精品资源公享课不但可以节约开发成本,同时也相对保证了网站平台的安全性。
本文从软件开发角度,简单介绍了如何应用Dedecms技术来开发高校精品资源公享课平台。
【总页数】1页(P147-147)
【作者】杨德义;韩红宇
【作者单位】漯河职业技术学院,河南漯河 462000;漯河职业技术学院,河南漯河 462000
【正文语种】中文
【相关文献】
1.基于DedeCMS技术的网站设计与实现*--以西安市高校联盟网为例 [J], 李云海;郑志高
2.基于校园网的精品资源共享课网站平台设计—以亳州职业技术学院为例 [J], 桂红兵;张继美
3.基于开源内容管理系统DedeCMS模版技术的二次开发探究 [J], 易洋;周燕飞
4.基于 DedeCMS 技术的高校网站建设安全问题 [J], 欧阳玉峰;王珂琦
5.基于开源内容管理系统DedeCMS模版技术的二次开发探究 [J], 易洋;周燕飞
因版权原因,仅展示原文概要,查看原文内容请购买。
dede插件简单的例子这是一个很简单插件实例,通过此插件,你可以知道怎么样开发一个插件,它结构是怎么设置的,数据库,后台等。
文件结构:enroll.php 文件在 plus文件下enroll.htm文件在templets/plus 文件夹下adenroll.php 文件在dede文件夹下adenroll.html 文件dede/templet文件夹下sql 文件:CREATE TABLE IF NOT EXISTS `dede_enroll` (`id` int(4) NOT NULL auto_increment,`name` varchar(20) NOT NULL,`mail` varchar(30) NOT NULL,`tag` tinyint(1) NOT NULL default '0',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;INSERT INTO `dede_plus` (`aid`, `plusname`, `menustring`, `mainurl`, `writer`, `isshow`, `filelist`) VALU ES(30, '网上报名', '<m:item name=''网上报名'' link=''adenroll.php'' rank=''plus_网上报名'' target=''main'' />', '', 'g1000', 1, '');这里说明下为了方便我简单的设置了两个字段姓名和邮箱 tag字段是标示是否录取 1为录取第一个insert语句是添加到后台管理第二个insert语句是添加到前台导航栏enroll.php复制代码<?php//*******要先包含common.inc.php 然后 session_start(); 否则取不到session的值//*******因为common.inc.php 有关于session路径的配置include_once dirname(__FILE__).'./../include/common.inc.php';//包含配置文件session_start();require_once DEDEINC."/arc.partview.class.php";//包含partiew类//*****实例化这个类的作用是得到头部导航栏和尾部信息若不需要可以使用dedetemplate.class.php 这个类$pv = new PartView();if($_POST){if( CheckEmail($_POST['mail'])==false){//验证邮箱方法在common.func.php 公用函数ShowMsg('邮箱格式错误','-1');exit();}if($_POST['name']==""){ShowMsg('用户名不能为空','-1');exit();}else{$name=htmlspecialchars($_POST['name']);}if($_SESSION['dd_ckstr']!=strtolower($_POST['validation'])){//验证验证码必须转换成小写ShowMsg('验证码错误',-1);exit();}$sql="insert into `cms_enroll`(name,mail) values('$name','$_POST[mail]')";//********$db可直接使用系统自动实例化了dedesql.class.php$affected = $db->ExecuteNoneQuery2($sql);//执行一条语句返回影响值if($affected){ShowMsg('报名成功',-1);}}else{$pv->SetTemplet(DEDETEMPLATE.'/plus/enroll.htm');//设置模板$pv->Display();//显示页面}?>enroll.htm复制代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/ DTD/xhtml1-transitional.dtd"><head><title>{dede:global.cfg_webname/}-在线报名</title><link href="{dede:global.cfg_templeturl/}/style/dedecms.css" rel="stylesheet" media="screen" type="tex t/css" /></script></head><body>{dede:include filename="../default/head.htm"/}<!-- 包含头部 --><blockquote style="margin:50px auto" ><form method="post" action="">姓名:<input type="text" size=30 name="name" /><br /><br />邮箱:<input type="text" size=30 name="mail" /><br /><br /><!--vdimgck.php 是验证码-->验证码:<input type="text" name="validation" /><img src="../../include/vdimgck.php" /><br /><br /> <input name="encoll" type="submit" value="报名" /><br /></form></blockquote>{dede:include filename="../default/footer.htm"/}<!-- 包含尾部 --></body></html>adenroll.php复制代码<?phprequire_once(dirname(__FILE__).'/config.php');//后台配置文件检查登陆配置信息require_once(DEDEINC."/datalistcp.class.php");//包含分页类if($_GET['action']&&$_GET['id']){if($_GET['action']=='pass'){//各种操作$db->ExecuteNoneQuery("update cms_enroll set `tag`=1 where id='$_GET[id]'");ShowMsg('录取成功','adenroll.php');}if($_GET['action']=='nopass'){$db->ExecuteNoneQuery("update cms_enroll set `tag`=0 where id='$_GET[id]'");ShowMsg('取消录取','adenroll.php');}if($_GET['action']=='delete'){$db->ExecuteNoneQuery("delete from cms_enroll where id='$_GET[id]'");ShowMsg('删除成功','adenroll.php');}}else{$dl = new DataListCP();$dl->pageSize = 10;//每页显示10条$dl->SetTemplate('./templets/adenroll.htm');//载入模板$sql="select * from cms_enroll";$dl->SetSource($sql);//执行sql 不能与$dl->SetTemplate 颠倒$dl->Display();//显示页面}?>adenroll.html复制代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/D TD/xhtml1-transitional.dtd"><head><title>在线报名管理</title><link href='img/base.css' rel='stylesheet' type='text/css' /><style type="text/css">th,td{text-align:center;border:1px #D1DDAA solid;font-size:15px;}th{background:#E6F8B7;}table{margin-top:20px;}</style></head><body><table width="90%" border="0" cellpadding="0" cellspacing="0" align="center"> <tr><th>姓名</th><th>E-mail</th><th>状态</th><th>操作</th></tr><!-- 循环得到结果 -->{dede:datalist}<tr><td>{dede: /}</td><td>{dede:field.mail /}</td><td>{dede:if field.tag==0}未录取{else}<font color="red">已录取</font>{/dede:if}</td><td> <a href="adenroll.php?action=pass&id={dede:field.id /}">[录取]</a>|<a href="adenroll.php?action=nopass&id={dede:field.id /}">[不通过]</a>|<a href="adenroll.php?action=delete&id={dede:field.id /}">[删除]</a></td></tr>{/dede:datalist}</table><!-- 分页标签 --><p style="text-align:center;font-size:15px;">{dede:pagelist listitem="info,index,end,pre,next,pageno" lis tsize="5"/}</p></body></html>。
程序篇4.1、自定义模型使用教程在织梦系统中有内容模型这个概念,不同内容模型可以用来构建不同内容形式的站点,在系统中自带了以下几种模型:普通文章、图集、软件、商品、分类信息、专题。
通过系统自带的模型,我们可以用来构建不同类型的站点,例如:使用图集可以做一个图片站,用软件模型构建一个软件下载站点。
当然以上随系统附带的模型被称为系统模型,用户可以自己定义一些模型,比如图书、音乐专辑等,自定义了这些模型才可以构建更多内容形式的站点,本篇将讲述如何使用系统的自定义模型管理功能来实现内容模型的构建。
我们首先登录系统后台,点击[核心]-[内容模型管理],进入内容模型管理界面,如下图所示:这里我们介绍几个相关参数的概念:•ID号用于区分模型的唯一ID,一般常规模型的ID都是大于0的,比如普通文章、软件等,如果使用了单表模型,ID一般需要小于-1,例如这里的分类信息模型;•频道名称用于识别频道类型的标识;•识别id系统用于识别的id,这个关系到模板方面;•附加表系统内容附加表项;•模型类型分为系统类型和自动类型,系统类型为固化在系统中的内容模型,自动类型为用户可创建的内容模型类型;接下来我们开始介绍如何使用自定义模型管理来创建一个自己的模型,并且用于建设不同内容类型的网站中去。
这里我们介绍一些周边的内容,几个要用到的概念:•字段在数据库中,表的列称为字段,织梦系统也是如此,但更恰当的说法,存储某个内容信息单元,称为字段,例如标题、来源、作者等都是一个字段;•内容系统主表程序将一些公用字段存储在系统主表dede_archives,例如:标题、关键词、缩略图等,主表具体字段可以查询织梦帮助中心()的有关二次开发手册数据表部分的内容;•附加表不同内容模型对应不同的附加表,通常以dede_addon[识别ID]命名,附加表中存放的都是详细内容的相关字段(非公用),例如:文章内容(dede_addonarticle)、软件类型(dede_addonsoft)、图片集合(dede_addonimage)等;•单表独立模型存储时候不用到“主表+附加表”的结构形式,直接使用单个数据表进行存储内容数据,这样脱离主从表,减少主表数据服在开销,可以从很大程度上解决数据负载问题;明白了以上几个概念我们可以来学习如何来自己创建一个内容模型了。
基于开源内容管理系统DedeCMS模版技术的二次开发探究作者:易洋, 周燕飞来源:《电脑知识与技术》2009年第34期摘要:DedeCMS是2004年出现的一款CMS。
是一款完全开源的CMS系统。
DedeCMS是国内知名内容管理系统,经超过20万以上站长级用户群经过长达4年之久的广泛应用和复杂化环境的检测,在安全性、稳定性、易用性方面具有较高的声誉,倍受广大站长推崇。
该文主要是针对DedeCMS模板与标签的可扩展性进行研究,并对其模板做一定二次开发应用。
关键词:dedecms;模板;二次开发;开源中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)34-9729-04Probe into the Secondary Development Based on the Open Source Content Management System YI Yang, ZHOU Yan-fei(Nanjing University of Aeronautics and Astronautics, Nanjing 210001, China)Abstract: DedeCMS is a kind of CMS, which appeared in 2004, and is a completing open source CMS systems. DedeCMS is the well-known content management system in china, expericing more than 2000 user group above-level owers and extensive using and complexity environmental testing for more than four years, which has a highier reputation in security,stability,ease of use,and is respected by the general owners. This article is aimed to study DedeCMS templetes and the scalability of the labels, to develop and applicate the secondary template.Key words: dedecms; template; secondary development; open sourceCMS大概2004以前,若要进行网站内容管理基本上都是靠手工维护。
dedecms二次开发总结1.后台所有目录在upload/dede2.后台大标题修改在upload/dede/inc/inc_menu.php3控制器有三个,例如ad_add.php ad_main.php ad_edit.php4.模板放在templets下面,名字跟模块名字相同,格式为htm5.在数据库中增加数据,直接写sql语句$query = "INSERT INTO #@__ad(ad_code,ap_code,ad_name,weight,ck_flg,lang_id,show_flg, position,dis_id,ad_info,ad_pic,bg_colour,font_colour,width,hei ght,ps_id,link_url)VALUES('$ad_code','$ap_code','$ad_name','$weight','$ck_flg','$ lang_id','$show_flg','$position','$dis_id','$ad_info','$ad_pic',' $bg_colour','$font_colour','$width','$height','$ps_id','$link_url ');";$dsql->ExecuteNoneQuery($query);ShowMsg("成功增加一个广告!","ad_main.php");exit();6.也可以放入一个数组中,然后处理$dsql->Execute('dd','SELECT * FROM `#@__myadtype` ORDER BY id DESC');$option = '';while($arr = $dsql->GetArray('dd')){$option .= "<option value='{$arr['id']}'>{$arr['typename']}</option>\n\r";}7.模板分配$dlist = new DataListCP();$dlist->SetTemplet(DEDEADMIN."/templets/ad_main.htm");$dlist->SetSource($sql);$dlist->display();8.模板输出{dede:datalist}<td>{dede:field.weight /}</td><td>{dede:ng_id function='lang(@me)'/}</td>{/dede:datalist}9.模板输出可以使用函数改变输出值,function='lang(@me)'.函数在模块中定义.10.用旧数据插入随即排练插入多条数据INSERT INTO t_device(`DV_CODE`,`LANG_ID`,`PT_ID`)SELECTDV_CODE, LANG_ID, PT_IDFROM t_adver_ap11.添加全选按钮,进行删除等操作,删除只能是删除本页全选的数据<a href="javascript:selAll()"class="coolbg">全选</a><a href="javascript:noSelAll()"class="coolbg">取消</a><a href="javascript:checkArc(0)"class="coolbg"> 审核 </a><a href="javascript:showArc(0)"class="coolbg"> 显示 </a><a href="javascript:delArc(0)"class="coolbg"> 删除 </a>js代码function selAll(){for(i=0;i<document.form2.arcID.length;i++){if(!document.form2.arcID[i].checked){document.form2.arcID[i].checked=true;}}}function noSelAll(){for(i=0;i<document.form2.arcID.length;i++){if(document.form2.arcID[i].checked){document.form2.arcID[i].checked=false;}}}//获得选中文件的文件名function getCheckboxItem(){var allSel="";if(document.form2.arcID.value) return document.form2.arcID.value;for(i=0;i<document.form2.arcID.length;i++){if(document.form2.arcID[i].checked){if(allSel=="")allSel=document.form2.arcID[i].value;elseallSel=allSel+"`"+document.form2.arcID[i].value;}}return allSel;}//获得选中其中一个的idfunction getOneItem(){var allSel="";if(document.form2.arcID.value) return document.form2.arcID.value;for(i=0;i<document.form2.arcID.length;i++){if(document.form2.arcID[i].checked){allSel = document.form2.arcID[i].value;break;}}return allSel;}function checkArc(ad_id){var qstr=getCheckboxItem();//if(aid==0) aid = getOneItem();location="ad_edit.php?qstr="+qstr+"&dopost=check";}function showArc(ad_id){var qstr=getCheckboxItem();//if(aid==0) aid = getOneItem();location="ad_edit.php?qstr="+qstr+"&dopost=show";}function delArc(ad_id){var qstr=getCheckboxItem();//if(ad_id==0) ad_id = getOneItem();location="ad_edit.php?qstr="+qstr+"&dopost=delete";}编辑模块代码if($dopost=='delete'){$qstrs = explode("`",$qstr);//print_r($qstrs);if( !empty($ad_id) && empty($qstr) ){$dsql->ExecuteNoneQuery("DELETE FROM `#@__ad` WHERE ad_id='$ad_id' ");ShowMsg("成功删除一则广告代码!",$ENV_GOBACK_URL);exit();}if($qstr==''){ShowMsg("请至少选择一个!",$ENV_GOBACK_URL);exit();}foreach($qstrs as $ad_id){$dsql->ExecuteNoneQuery("DELETE FROM `#@__ad` WHERE ad_id = '$ad_id' ");};ShowMsg("成功删除广告!",$ENV_GOBACK_URL);exit;}总结:写一个函数,获取全选的id值,然后各种按钮对应的操作以及传过去的值,这也写在一个js中,例如本例中delarc();然后在模块中根据各种情况进行操作,例如判断是从单个点击过来的,还是通过全选过来的.12.对于让select 选择后保持状态的问题最恨的招数就是把参数定死,然后在页面的对应选择框中加入如下代码<?php if ($_GET['ck_flg']==0) echo 'selected'; ?>这种情况用于进行搜索时候,默认值在数据库中没有值,但是你在一开始需要把所有结果都显示出来,(如果不加参数,会出现默认值为未审核,未审核的值为0)13.用以前模块改写时.容易出现问题,(我把广告管理改为应用管理),在插入数据库中时,始终改变不了类别,纠结了一晚上,原来是sql语句在修改时带上逗号或是丢了逗号,每回都那么巧,都有错,一定要细心.灵异事件发生,就要细心,细心,再细心!!!!14.如何在预览图片然后返回,一个办法是写链接时候target="_blank";另外一种办法就是先写个div,加载时候隐藏,然后用js控制,当点击原图片的时候,显示div,把这个div层的图片换掉,当再次点击,div又隐藏.控制层(定义一个函数)function MediaType($nurl){return "图片<a href=\"javascript:;\" onClick=\"ChangeImage('$nurl');\"><imgsrc='../include/dialog/img/picviewnone.gif' name='picview' border='0' alt='预览'></a>";}view层<style>.napisdiv{right:100px;top:200px;width:150px;height:100px;position:absolute ;z-index:3}</style><script>function ChangeImage(surl){document.getElementById("floater").style.display="block";document.getElementById('picview').src = surl; }function ChangeImages(surl){document.getElementById("floater").style.display="none";document.getElementById('picview').src = surl; }window.onload=hidediv;function hidediv(){document.getElementById("floater").style.display="none";}</script><div id="floater"class="napisdiv"><a href="javascript:;" onClick="ChangeImages('../include/dialog/img/picviewnone.gif');"> <img src='../include/dialog/img/picviewnone.gif'id='picview' name='picview'border='0'alt='单击关闭预览'style='z-index:10000'> </a></div><td>{dede:field.mediatype function="MediaType(@me)"/}</td>15.当数据库插不入数据的时候,检查两个方面,一个是sql语句是否错误,另一个是字段是否为非空.。
完整教程免费下载地址:/share/link?shareid=233875&uk=704942441要求:1.同一开发环境. W AMP2.最终完成a67 手机电影网的70%功能.(相当于静态页面已经提供.)3.学习过程中,我们会分析源码和dede数据库的设计思想-> phpcms 或者cmstop4.参加工作有 a. 全新开发b. 加入一个团队,一起开发. c 数据的设计.学习DEDE的二次开发◆cms的基本概念cms(content management system) 内容管理系统,主要是管理内容变化不大的数据(新闻,软件,商品,文章, 电影,视频....),◆主流的cmsdedecms [中小型网站,使用在企业级的网站不少见.]phpcms [中型网站,对大型网站也很好.]cmstop [据说对大型网站支持最好]◆dede的特点1.简单、实用,开源(源码.)2.专门用于个人,中小型门户网站., 企业也可以支持3.架构PHP+mysql4.前台是静态页面(访问速度开) ->页面静态化技术.◆dede的安装1.先卸载apache和mysql, 成功卸载.2.安装Wamp (该软件包括apche+mysql+php+phpmyadminj),如果安装后,小的半圆式白色,说明成功!3.把uploads 文件夹拷贝到www目录4.把uploads 改成dedecms名字5.浏览器中输入http://localhost/dedecms/index.php6.进入安装界面,记住吧gd库打开,否则后面登录管理员界面不能成功!7.指定admin的密码,然后看到如下界面8.登录到dedecms的后台管理先把dedecms/dede改成manage,然后http://localhost/dedecms/manage9 .当进入到管理页面后,需要做一个安全修改强烈建议data/common.inc.php文件属性设置为644(Linux/Unix)或只读(NT);DEDE的快速入门需求1: 现在老板要求你做一个文章管理系统,栏目(类别)包括(武侠、爱情、音乐...) ,每个栏目(类别)有对应的文章,文章已经给你准备好了,请你在30分钟搞定该网站,怎么样?1.先看看dede默认的前台首页面是怎http://localhost/dedecms/index.php2.说一个dede 原理3.我们做栏目1.先进入后台管理->网站栏目管理说明: 当我们增加一个栏目时,实际上在dede数据库中有一张表dede_arctype表中增加了一个记录.2. 给每个栏目增加文章后台->核心->普通文章(+)->添加文章☞当你添加一篇文章后,①其实就在在dede_archives表中添加了记录,同时在另外一张附加表dede_addonarticle 中记录额外信息.②生成了静态页面., 并连接3. 生成栏目的静态页后台->生成->更新栏目HTML先在请大家完成如上功能.这里dede设计使用垂直分割的技巧.注意: 如果希望在首页面看到最新的文章,请更新首页面的HTML后台->生成->更新主页面HTML刚才我们说:dede的首页面包括前台是可以是静态页面,dede 支持前台页面静态化,步骤后台->生成->更新主页面HTML在dede开发过程中,目前有四类表关系一览图◆思考题2: 如果现在我们要做的是电子商务网站,卖我们的商品,这时用文章这样的形式来管理还合适吗?—> 每个栏目都可以指定一个内容模型什么是内容模型呢?步骤1:先看看dede是否已经提供了商品的模型,如果提供了,你直接使用,否则自己创建. 后台->核心->内容模型管理看看是否有!有就使用,步骤上面一样.思考: 如果默认给的某个模型字段信息不够,怎么办?->自定义模型.◆需求3: 在添加某个商品的时候,我们希望多一个信息,就是付费方式,还希望多一个邮资信息,我们又该怎样处理?- 引出修改内容模型的问题步骤:1.点击核心->内容模型管理->商品修改->字段管理->添加新字段.说明: 当你操作完毕后,就会在对应的附件表中增加了一个对应的字段.◆需求4: 请各位同学看看,这里我们有一个问题,就是当你点击武侠,爱情,电器的时候,会找不到对应的页面,这是为什么呢?这个就是直接点击更新栏目HTML说明: 我们设计网站前台的时候,可以参考这样一个思路: 网站分三级目录首页面->栏目页->内容页◆思考题:1. 栏目(类别)是保存在哪个表中的. 2. 一篇文章,一个商品它们最终是存放在数据库中的哪些表中?◆答: 栏目(类别)是保存在哪个表中的. dede_arctype◆一篇文章,一个商品它们最终是存放在数据库中的哪些表中?内容是分别放在两张表,一张是他的主表,该主表是通用dede_archives , 附件表dede_addonXXX.◆在DEDE中增加内容的基本步骤是怎样?(1)找模型,如果有的话,你可以使用,但是你也可以自定义一些字段,你也全新的创建一个模型,比如: 我现在要搞一个电影网站.增加一个模型的步骤是:a.点击核心->内容模型管理->增加新模型, 进入页面后,自己看看就知道怎样添加了说明: 当你增加一个模型后,就会在数据库中增加一个对应的附件表dede_addonXXX(2)添加一个栏目,根据你的实际情况来定, 刷新一把才看到(3)增加内容,根据实际情况输入即可◆说明一下DEDE 的目录结构dedecms/a 目录用于存放生成的静态页面dedecms/data 目录用于存放临时文件和缓存文件dedecms/images 目录用于存放dede自己的图片dedecms/include 目录核心类库(标签库,操作图像的类,操作数据库的类)dedecms/install 目录,安装信息dedecms/manage 目录,存放后台管理程序dedecms/member 目录,存放会员管理程序dedecms/plus 目录,存放插件程序,和将来你开发的程序模块dedecms/templates 目录,存放dede前台的所有模板文件dedecms/uploads 目录,存放你上传的图片、视频。
DEDECMS 织梦二次开发详解一、城市根据省市(IP)判断当地区域来显示当地内容,后台可以选择城市和修改区域,归类与合并。
可以手动选择城市地区,防止IP错误而导致城市区域不正确,可以根据方维O2O,或者团购城市判断来作为参考。
后台可以开启默认省市为默认值。
二、广告后台广告自定义功能的选择和修改,根据地区可以方便添加各类广告,如幻灯广告、悬浮广告、横幅广告,豆腐块广告,增加广告显示开始时间与结束时间,支持Flash、JPG、HTML以及JS其他页面调用。
明确前台广告标签方便添加和修改,可以根据目前DEDECMS 的后台广告功能进行修改和参考。
三、注解二次开发要明确开发注解,并已帮助文本说明模式表述清楚,防止以后进行再次开发后无法理解和操作。
具体可以参考方维网站的功能模式来开发。
关于城市布局:①可采用GET接口模式进行参数传递可设置按天气路径读取或采用手工输出显示模式加载天气网的参数接口②使用自定义城市模式,判断IP来源属性加载当地区域天气情况。
上述关于城市选项,可通过操作后台,进行插件功能定义操作。
广告布局模块:①可设置自定义广告模块大小,广告显示开始结束时间、广告格式类别(如flash 图文或js代码格式)②广告显示先后顺序,包括广告位置,设置调用为自定义参数,自定义操作广告布局顺序等广告显示操作。
关于程序安全问题:通过加载插件运行模式,对调dedecms后台,只通过后台验证管理,广告的修改添加删除均采用自定义参数模式代码编写添加模式,后台插件模块同时添加广告后台预览功能用于对调显示合理方案。
根据ip显示广告,后台可以添加广告后选择城市,当用户浏览网站的是时候根据自己的城市区域显示该地方广告。
DedeCMS V5.3二次开发
希望对大家有用
一、模板篇
1.1、主要模板文件与功能说明
DedeCMS系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,由于DedeCMS支持自定义频道模型,用户自定义新频道模型后,还需要按该模型的字段设计一套新的模板,此外,DedeCMS也支持使用风格的形式使用模板,默认风格是default,它表示系统默认使用{cmspath}/templets/default 这个文件夹的模板,如果你下载了一套新的模板,你可以不必要删除 default 原有的文件,把下载的模板文件夹命名你想要的风格名称,如 style2 等,然后在后台修改了默认的模板风格名称为style2 ,那系统将使用{cmspath}/templets/style2 这文件当作默认模板,但是若你手工指定了栏目模板的位置,则后台参数风格的定义无效。
一、概念,设计和使用模板,必须要理解下面几个概念
1、板块(封面)模板:
指网站主页或比较重要的栏目封面频道使用的模板,一般用“index_识别ID.htm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。
2、列表模板:
指网站某个栏目的所有文章列表的模板,一般用“list_识别ID.htm”命名。
3、档案模板:
表示文档查看页的模板,如文章模板,一般用“article_识别ID.htm”命名。
4、其它模板:
一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。
二、命名,DedeCMS模板默认命名规则如下
1、模板保存位置:
模板目录:{cmspath} /templets/样式名称(英文,默认为default,其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件}
2、模板文件命名规范:
(1)index_识别ID.htm:表示板块(栏目封面)模板;
(2)list_识别ID.htm:表示栏目列表模板;
(3)article_识别ID.htm:表示内容查看页(文档模板,包括专题查看页);(4)search.htm:搜索结果列表模板;
(5)index.htm:主页模板;
注解:[识别ID]可以在“频道模型管理”的地方获得,当然,你也可以在“频道模型管理”的地方确定某个频道的模板命名。
例:list_image.htm 表示是就是内容类型为图片集的栏目默认列表模板。
article_article.htm 表示的是文章查看页模板。