dedecms联动问题
dedecms5.7中的ckeditor遇到的一些问题以及解决办法

dedecms5.7中的ckeditor遇到的一些问题以及解决办法使用dedecms5.7中的ckeditor时遇到的一些问题及解决办法:1、ckeditor添加字体:关上include/ckeditor/ckeditor.js,搜寻font_names,找出字体列表。
嵌入所需的中文字体,嵌入后为:需要特别注意的是:添加的字体,要写成诸如“宋体/宋体”的形式,而不是“宋体”。
即“显示的字体名称/实际字体名称”的格式。
2、添加行距按钮:(1)浏览ckeditor的行距插件包(网上很难找出的)并读写至ckeditor/plugins目录下;(2)由于dedecms5.7自己内置了一个dedepage插件,用以嵌入ckeditor自定义插件,在/include/ckeditor/plugins/dedepage文件夹下,关上plugin.js文件在最后面嵌入:requires:['lineheight'];(3)修改/include/ckeditor/ckeditor.inc.php文件,在$toolbar['basic']的最后一行添加元素code,修改后代码如下:$toolbar['basic']=array(array('source','-','templates'),array('cut','copy','paste','pastetext','pastefromword','-','print'),array('undo','redo','-','find','replace','-','selectall','removeformat'),array('showblocks'),array('image','flash','addon '),array('maximize'),'/',array('bold','italic','underline','strike','-'),array('numberedlist','bulletedlist','-','outdent','indent','blockquote'),array('justifyleft','justifycenter','justif yright','justifyblock'),array('table','horizontalrule','smiley','specialchar') ,array('link','unlink','anchor'),'/',array('styles','format','font','fontsize'),array('textcolor','bgcolor','mypage','multipic'),array('lineheight'));关上include/ckeditor/plugins/addon/plugin.js找出以下代码://registerthetoolbarbutton.editor.ui.addbutton('addon',{label:'附件',将上面的icon路径改为/include/ckeditor/images/addon.gif即可。
dede(织梦)二次开发手册之联动类别使用说明教程篇

友情提供: 联动类别使用说明教程织梦在新版本V5.3中加入了一个联动类别的功能,不少人不理解这个联动类别的使用方法,本教程天涯就来介绍如何使用这个功能。
联动类别使用的地方还是比较多的,首先我们可以通过后台的[核心]-[频道模型]-[联动类别管理]查看,联动类别其定义如下:系统一种特殊的枚举数据类别,可以有系统内置或由用户管理。
系统内置的枚举用户是不可以删除的,但可以对这些数据进行添加子分类及修改。
到这里可能一些用户还是不了解什么是联动类型,下面我们举几个简单的例子。
一个最简单的联动类型是只有一级选择的类型,比如说系统内置的星座、教育程度、血型,这种类型你可以点击进去查看,其结构很简单,例如星座(star):在这个联动类别中级数为“一级选择”,就是在这个星座类别下面只有一列品级数据进行选择,我们点击进去可以查看到以下内容:这个让我们很容易联想到许多网站中设置用户资料的时候,需要用户选择星座,我们就可以通过一个下拉框进行选择:当然,上面说到的是最简单的联动类别,只有一级联动,这种一级联动就可以好比是一个下拉框,用户在选择具体数据的时候只要通过下拉框这种形式就可以对数据进行选择。
但是我们在很多联动数据中遇到不少需要二级联动的类型,例如我们在资料设置中选择“所在城市”这个类别,如下图所示这种数据类型就属于需要选择2次分类,首先选择上海市,然后列出上海市拥有的地区,然后再进行第二次选择,这就是一个二级联动的类别,我们可以通过系统后台查看联动类别中的地区来看看系统的枚举类型。
通过以上2个例子我们不难理解联动类型的概念,其实说简单了就是一种特殊的枚举数据类型,这种特殊的枚举类型运用在创建内容模型、用户资料等数据录入的页面中,其中应用在创建模型及用户自定义表单是联动类别最常用的地方,下面我们来介绍如何使用这个联动模型。
我们以创建一个“图书(book)”内容模型为例,这个模型中我们需要网站管理员(用户)提交一个图书特征的分类,我们知道以下图书特征的分类:线装书,精装书,平装书,袋装书,电子书,有声读物,盲人书下面我们就创建一个这个一级选择的枚举类型,这个类型叫图书特征(bookfeature),我们点击“新增类别组”来创建分类。
dedems你所选择的栏目与当前模型不相符,请选择白色的选项!完美解决方法

dedems你所选择的栏⽬与当前模型不相符,请选择⽩⾊的
选项!完美解决⽅法
第⼀种:在后台发布信息的时候提⽰:
在dedecms栏⽬中添加⽂章时,有时候dedecms会提⽰你所选择的栏⽬与当前模型不相符,请选择⽩⾊的选项!
这个主意是你更新⽂章的时候栏⽬没选择正确,或选择的栏⽬是封⾯不⽀持发布⽂章,如果是新建栏⽬的时候失误的可以改栏⽬属性就可以了,把⽂章的上⼀级栏⽬的属性修改为最终列表栏⽬,你可以添加⽂章了。
第⼆种:⽕车头采集系统发布的时候:
这个问题跟上⾯的类似,但我们⼀般发布⽂章或软件不会出现这个问题,所有肯定是⽕车头发布栏⽬id不正确,需要修改下发布参数
主要是 typeid=[分类ID]这个参数可能没有,需要根据不同版本的⽕车头,位置位于发表post数据的地⽅。
dedecms常见的问题

如果你使用的dedecms v5.5 ,可能会遇到出错提示,语句为:DedeTag Engine Create File False,下面整理收集了最全面的解决办法,并详细探讨了其成因,希望能对你有所助益.原因:要创建的目录或者文件没有写入权限解决办法:第一步,定位出错的文件,即查找生成什么文件时出的问题。
方法:修改include/dedetag.class.php文件,搜索"DedeTag Engine Create File False",会找到以下代码$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False");修改成$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False:$filename");重新生成栏目或者文档时,即可提示当前文件信息。
第二步,找到提示错误的目录或者文件,检查是否有写入权限,windows服务器请给予写入权限,linux 服务器请给予777权限。
如果目录或者文件不存在,请手工建立。
常见的错误情况有,data目录没有写入权限,html静态文件目录没有写入权限,index.html首页静态文件没有写入权限。
警告:此修改操作可能会暴露程序目录结构信息,建议解决问题以后,还原程序文件。
请问DedeTag Engine Create File False怎么办?这个提示一般出现以下情况才会出现:1.模板文件不存在,您可能误删除或者没有正确指定模板文件;2.模板文件没有读取权限,请按照我们的系统环境配置需求正确分配目录的权限。
DedeTag Engine Create File False 错误汇总及解决方法恺撒洋芋花DEDECMS, DEDETAG, Engine by 恺撒洋芋花[tr][td]DedeTag Engine Create File False这个错误总是会被很多的新手遇到并且无从下手.其实问题很简单,你只要设置一下文件夹权限为777或者是文件权限为777就好了在很多时候,如果我们更新文档都会出现提示说DedeTag Engine Create File False,这时候,可以有两个方式进行解决,1.在ftp删除所要更新的旧文档.2.将文件夹权限和文件权限全部设置为777,记住点击应用哦!再有问题的时候可以看提示信息的,或者说,看下面的一些介绍与总结.DEDE可以说是最容易上手的CMS。
dede(织梦)修改数据库表前缀 不同数据库放一起 读取档案信息错误解决方法

dedecms修改数据库前缀
及后台内容管理文章不显示的方法
dedecms把默认的数据库表前缀dede_修改为自已定义的前缀名称例如【bayy_】,会使系统更加安全,因为多数的SQL注入攻击之类都是针对默认的数据表前缀的结构。
1、首先把数据库表的前缀都修改为【bayy_】开头,然后修改配置文件,找到并打开wwwroot/data/common.inc.php,
把,这里的wwwroot是指站点物理路径(程序文件夹);
2、找到后打开common.inc.php ,显示如下:
是无法打开,那么就还要登录dedecms后台设置内容管理模块,怎么设置织梦后台内容管理模块呢?下方如图:5、后台内容模块管理修改完后,后台栏目管理里面的文章、图片都显示正常,但是【内容管理里-普通文章】里的文章
点击无法读取档案基本信息,因为它现在读取的路径和保存的路径还是默认的是dede_。
6、原来还需要修改一个数据库表,打开数据库找到bayy_channeltype,把字段maintable,addtable里的内容dede_开头的表前缀名都要更改为bayy_,比如普通文章、图片、专题的等,如你需用到的管理模块,都需要更改,这样程序在读取文章和图片的时候才会显示正常。
7、全都更改完后,打开前台(网站)和后台查看是否都显示正常,如显示还错误,可重新生成所有栏目和文章。
织梦CMS挂马漏洞分析解决方案WEB安全 电脑资料

织梦CMS挂马漏洞分析解决方案WEB平安电脑资料最近中马了,在网络上搜寻的解决方法;希望可以帮助大家!在这里就简单记录一下我两次的经历及大致解决方法,大局部都是在网页上中木马1.最笨的一种应该是直接修改生成的index.htm文件,一般在源代码底部参加一段的代码,直接查看源代码就可以,这种重新生成一次首页就可以;2.聪明一点的会修改模板文件,把templets目录下的主要文件源代码同样底部参加代码,这样每次生成都会调用,找到他删除就可以;3.稍微厉害一点的会把代码放的更隐蔽些,不是头部也不是底部,在中间某个部门,直接CTRL+F查找就可以;4.还有一种是调用.js文件,混在网页中间,利用大多数网页都会有JS调用作为掩护,仔细查找就可以;5.更高级一点的就是这次我遇到的,模板首页都会调用一个dedeajax.js的文件,他把代码参加到这里面去;以上是比拟常见的一些情况,然后仅仅是删除了木马代码而已,更重要的是要找到根源才行,这样才不会被再次中毒,根据上次官方的解决漏洞方法分析,大多数都是利用会员的上传文件漏洞伪装成rar,zip等文件把后门程序上传,从而获得权限。
所以清楚了网页里的代码之后就要注意查找这些后门程序,大局部都是.php 结尾的文件,翻开之后显示一堆乱码,直接在upimg里的userup目录查找,如果你网站开的越久内容越多查找起来可能会比拟麻烦,可以下载到本地用资源管理器查找*.php文件,找到一个删除一个。
最后的建议就是关闭会员功能,或者会员上传功能,大局部个人网站都是用DEDECMS做一个内容的网站,很少有需要会员上传什么东西的,所以这个功能其实根本就没有用到,与其这样不如关闭。
一个搞平安的朋友告诉我最平安的网站就是全html的网站,能减少程序功能就尽量减少。
模板,内容仅供参考。
防止dedecms入侵、漏洞问题的4点安全防范建议

一、最基本的安全设置:修改dedecms默认后台目录/dede/和修改管理员帐号密码;二、如网站不需要使用会员系统,建议删除/member/文件夹;三、将/data/文件夹移到web访问目录外,这条是dedecms官方建议,具体操作方法如下:1. 将/data/文件夹移至web根目录的上一级目录2. 修改/include/common.inc.php中dededata变量,将:define('dededata', dederoot.'/data'); 改为define('dededata', dederoot.'/../data');3. 修改/index.php,删除如下代码(注:如首页生成静态且index.html索引优先于index.php可忽略此条修改。
):代码如下:if(!file_exists(dirname(__file__).'/data/common.inc.php')){header('location:install/index.php');exit();}4. 配置tplcache缓存文件目录:登陆后台> 系统> 系统基本参数> 性能选项,将模板缓存目录值改为/../data/tplcache四、/plus/是dedecms漏洞高发目录,隐藏/plus/路径可防范该目录下文件产生的未知漏洞的利用,如需使用该目录下某个文件,可在.htaccess中添加相关规则实现白名单功能。
示例:假设plus目录名修改为/abcd9com/,网站需要使用后台栏目动态预览(路径:http://域名/plus/list.php?tid=栏目编号)和发布跳转文章(路径:http://域名/plus/view.php?aid=文章编号)的功能,则可在.htaccess添加如下代码:代码如下:rewriteengine onrewritecond %{query_string} id=(\d+)rewriterulelus/list.php$ /abcd9com/list.php$1 [l]rewritecond %{qu[标签:内容]。
织梦DedeCMS频道页联动调用方法-电脑资料

织梦DedeCMS频道页联动调用方法-电脑资料最近想把行业做一个分类,分类调用到频道页面上去,。
发现直接调用是无法实现的!那怎么才能实现呢?方法如下:行业的联动类别字段是:vocation。
为了方便大家看,我把vocation都改成:“自定义联动类别字段名”,相信大家能看的懂!第一修改: include\taglib\infolink.lib.phprequire_once(DEDEROOT.'/data/enums/infotype.php');下面添加require_once(DEDEROOT.'/data/enums/自定义联动类别字段名.php');function lib_infolink(&$ctag,&$refObj){global $dsql,$nativeplace,$infotype,$自定义联动类别字段名,$hasSetEnumJs,$cfg_cmspath,$cfg_mainsite;global $em_nativeplaces,$em_infotypes,$em_自定义联动类别字段名s; //看清楚,这里后面的个S$fields = array('nativeplace'=>'','infotype'=>'','自定义联动类别字段名'=>'','typeid'=>0id, 'channelid'=>$channelid,'linkallplace'=>'','linkalltype'=>'','linkea ll自定义联动类别字段名'=>'');$fields['nativeplace'] = $fields['infotype'] = $fields['自定义联动类别字段名'] = '';====================================== ======================$fields['linkalltype'] = "不限";//下面添加一行$fields['linkeall自定义联动类别字段名'] = "不限";====================================== ========================搜索 if(is_array($ctp->CTags)) 在这句上面添加//自定义联动类别字段链接if(empty($自定义联动类别字段名)){foreach($em_自定义联动类别字段名s as $eid=>$em){if($eid % 500 != 0) continue;$fields['自定义联动类别字段名'] .= " {$em}";}}else{$sontype = ( ($自定义联动类别字段名 % 500 != 0) ? $自定义联动类别字段名 : 0 );$toptype = ( ($自定义联动类别字段名 % 500 == 0) ? $自定义联动类别字段名 : ( $自定义联动类别字段名-($membertype%500) ) );$fields['自定义联动类别字段名'] = "{$em_自定义联动类别字段名s[$toptype]} ";foreach($em_自定义联动类别字段名s as $eid=>$em){if($eid < $toptype+1 || $eid > $toptype+499) continue;if($eid == $自定义联动类别字段名) {$fields['自定义联动类别字段名'] .= " {$em}";}else {$fields['自定义联动类别字段名'] .= " {$em}";}}}//以上文件修改完了!第二修改:plus\list.php 文件搜索$infotype = ( (empty($infotype) || !is_numeric($infotype)) ? 0 : $infotype ); 在下面添加一句:$自定义联动类别字段名= ( (empty($自定义联动类别字段名) || !is_numeric($自定义联动类别字段名)) ? 0 : $自定义联动类别字段名 );再搜索 if(!empty($infotype)) $cArr['infotype'] = $infotype; 在下面添加。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先在空间里找到dede/stepselect_main.php 这个文件,然后找到其中的这段代码:
1else if($action=='addenum_save')
2{
3if(emptyempty($ename) || emptyempty($egroup))
4{
5Showmsg("类别名称或组名称不能为空!","-1");
6exit();
7}
8if($issign == 1 || $topvalue == 0)
9{
10$enames = explode(',', $ename);
11foreach($enames as $ename)
12{
13$arr = $dsql->GetOne("SELECT * FROM `#@__sys_enum`
WHERE egroup='$egroup' AND (evalue MOD 500)=0 ORDER BY disorder DESC ");
14if(!is_array($arr)) $disorder = $evalue = ($issign==1 ? 1 : 500);
15else $disorder = $evalue = $arr['disorder'] + ($issign==1 ? 1 : 500);
16
17$dsql->ExecuteNoneQuery("INSERT INTO
`#@__sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)
18
VALUES('$ename','$evalue','$egroup','$disorder','$issign'); ");
19}
20WriteEnumsCache($egroup);
21ShowMsg("成功添加枚举分类!".$dsql->GetError(),
$ENV_GOBACK_URL);
22exit();
23} else if ($issign == 3 && $topvalue != 0)
24{
25$minid = $topvalue;
26$maxnum = 500; // 三级子类最多500个
27$enames = explode(',', $ename);
28foreach ($enames as $ename)
29{
30$arr = $dsql->GetOne("SELECT * FROM `#@__sys_enum`
WHERE egroup='$egroup' AND evalue LIKE '$topvalue.%%%' ORDER BY evalue DESC ");
31if(!is_array($arr))
32{
33$disorder = $minid;
34$evalue = $minid.'.001';
35}
36else
37{
38$disorder = $minid;
39preg_match("#([0-9]{1,})\.([0-9]{1,})#", $arr['evalue'], $matchs); 40$addvalue = $matchs[2] + 1;
41$addvalue = sprintf("%03d", $addvalue);
42$evalue = $matchs[1].'.'.$addvalue;
43}
44$sql = "INSERT INTO
`#@__sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)
45
VALUES('$ename','$evalue','$egroup','$disorder','$issign'); ";
46// echo $sql;exit;
47$dsql->ExecuteNoneQuery($sql);
48}
49// echo $minid;
50WriteEnumsCache($egroup);
51ShowMsg("成功添加枚举分类!".$issign, $ENV_GOBACK_URL);
52exit();
53} else {
54$minid = $topvalue;
55$maxid = $topvalue + 500;
56$enames = explode(',', $ename);
57foreach($enames as $ename)
58{
59$arr = $dsql->GetOne("Select * From `dede_sys_enum` where
egroup='$egroup' And evalue>$minid And evalue<$maxid order by evalue desc "); 60if(!is_array($arr))
61{
62$disorder = $evalue = $minid+1;
63}
64else
65{
66$disorder = $arr['disorder']+1;
67$evalue = (int)($arr['evalue']+1);
68}
69$dsql->ExecuteNoneQuery("Insert into
`dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)
70
values('$ename','$evalue','$egroup','$disorder','$issign'); ");
71}
72WriteEnumsCache($egroup);
73ShowMsg("成功添加枚举分类!".$issign, $ENV_GOBACK_URL);
74exit();
75}
76}
然后保存,在系统后台更新系统缓存就可以了的。
现在在后台的联动类别管理里面就可以增加二级选择了。
2.dede/templets/stepselect_main.htm找到
if($topvalue % 500 != 0) $arr['issign'] = 2;
修改为
if($topvalue % 500 != 0) $arr['issign'] = 3;
if($topvalue % 500 == 0) $arr['issign'] = 2;
以上这样修改后1,2,3 联动能添加,再4级就不行了。
应为这里的标记只判断到3,织梦也最多能添加3级联动。
所以足够用了。