GVKun编程网logo

dedecms中常见问题修改方法总结(dedecms配置)

26

本文将介绍dedecms中常见问题修改方法总结的详细情况,特别是关于dedecms配置的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于DEDECMS

本文将介绍dedecms中常见问题修改方法总结的详细情况,特别是关于dedecms配置的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于DEDECMS 5.6 文章页添加边框的修改方法、DedeCMS 5.7 标签tag长度限制的修改方法、Dedecms tag 标签伪静态的修改方法、dedecms tag标签伪静态的修改方法_dedecms_CMS教程的知识。

本文目录一览:

dedecms中常见问题修改方法总结(dedecms配置)

dedecms中常见问题修改方法总结(dedecms配置)

 

新闻介绍

菜鸟常见问题,此贴是早些时候我发的,在3.1正式版中.有些问题已得到修正,不过仍可作为修改或学习参考 
请大家花点耐心看完这个吧,这些问题很多人都有碰到.何必要不停的发贴子问呢? 
另外,看完这个请去你自己的后台看完源码标记参考!!非常是arclist这个标记的参数说明!! 
多思考一下问题,多试验一下标记,,学到就是自己的,学不到,谁也帮不到你!! 
补充一点..很多标记都可以参考系统默认的源码和源码区的一些好源码,多看标记体会每个标记的用法, 
下文如果有您的贴子..感谢您对DEDE的匏礁冻?. 
3.1litZ新版当一级栏目为Z终列表栏目时,使列表显示其下级栏目的新闻的修改 
include/inc_arclist_view.php 
80行: 
$addSql .= " And (typeid=‘".$this->TypeID."‘ or typeid2=‘".$this->TypeID."‘) "; 
更改为: 
//增加的,用来解决上级列表调用不出下级列表的问题 
    $ssid = TypeGetSunID($this->TypeID,$this->dsql); 
    $ssid2 = str_replace(‘typeid‘,‘typeid2‘,$ssid); 
    //结束增加的 
    $addSql .= " And (typeid=‘".$this->TypeID."‘ or ".$ssid." or typeid2=‘".$this->TypeID."‘ or ".$ssid2.") ";//本句也已修改 
上面这部分用来解决分页问题 
include/inc/inc_fun_SpGetArcList.php 
70行开始: 
if($ridnum>1){ 
    $tpsql = ""; 
    for($i=0;$i<$ridnum;$i++){ 
        if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,‘arc‘); 
        else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,‘arc‘); 
    } 
    $tpsql .= ") "; 
    $orwhere .= $tpsql; 
    unset($tpsql); 
    } 
    else{ 
    $orwhere .= " And ".TypeGetSunID($typeid,$dsql,‘arc‘); 
    } 
更改为: 
if($ridnum>1){ 
    $tpsql = ""; 
    for($i=0;$i<$ridnum;$i++){ 
        if($tpsql=="") { 
        //开始修改新闻第二栏目调用问题 
        $ssid = TypeGetSunID($reids[$i],$dsql,‘arc‘); 
        $ssid2 = str_replace(‘typeid‘,‘typeid2‘,$ssid); 
        $tpsql .= " And (".$ssid." or ".$ssid2;} 
        else { 
        $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,‘arc‘); 
        $tpsql .= str_replace(‘typeid‘,‘typeid2‘,$tpsql);} 
    } 
    $tpsql .= ") "; 
    $orwhere .= $tpsql; 
    unset($tpsql); 
    } 
    else{ 
    $ssid = TypeGetSunID($typeid,$dsql,‘arc‘); 
    $ssid2 = str_replace(‘typeid‘,‘typeid2‘,$ssid); 
    $orwhere .= " And (".$ssid." or ".$ssid2.") ";//结束修改新闻第二栏目调用问题 
    } 
此部分用来解决调用下级栏目新闻列表问题 
替换的代码我写的很粗糙,可以暂时先用着,等官方的解决方法出来后再替换 
在 include/inc_arclist_view.php还要改一处: 
//获得一个单列的文档列表 
下 
    //类别ID的条件 
    $orwhere .= " And (dede_archives.typeid=‘".$this->TypeID."‘ or dede_archives.typeid2=‘".$this->TypeID."‘) "; 
改为: 
    //类别ID的条件 
      $ssid = TypeGetSunID($this->TypeID,$this->dsql); 
    $orwhere .= " And (dede_archives.typeid=‘".$this->TypeID."‘ or ".$ssid." or dede_archives.typeid2=‘".$this->TypeID."‘) "; 
否则有页面没有列表内容,因为80行是Select count(*)..... 
关于那个栏目路径有个{cmspath} 
首先说一下{cmspath}的意思,,打开后台"系统配置参数"可以看到第二项,DedeCms安装目录:  
这个就是{cmspath}所解析出来的路径, 
如果beta2升级到lit,需要手工修改栏目属性,把{cmspath}去除.或者你运行setup升级完之后用lit的所有文件 
替换掉之前的B2的所有文件,这样{cmspath}就可以正常解析成你的网站路径 
如果你不用{cmspath}这个参数,.可以照下面的修改 
执行SQL: update dede_arctype set typedir=replace(typeidr,‘{cmspath}‘,‘‘); 
以去掉数据库的里 {cmspath} 
然后修改文件 cata日志_add.php 找到 $true_typedir = str_replace("{cmspath}",$cfg_cmspath,$typedir); 
改成 
$true_typedir = str_replace("",$cfg_cmspath,$typedir); 
就行 
[field:description /]这个标签怎么限制字数? 
[field:description function=‘cn_substr(@me,80)‘/] 
dede 里的所有标记都支持这样使用函数的 
关于3.1版友链添加后在首页没有显示的问题 
引起这个的主要原因是BLT在编写的时候把表 dede_flink的ischeck的值弄反了造成的. 
在3.01里..ischeck=1表示首页链接..2表示内页链接,但3.1正好相反, 
给一个Z简直的改法就是打开inc_fun_SpGetFriendLink.php 
找到第13行.. 
CODE: 
$wsql = " where ischeck=1 ";  
[Copy to clipboard] 
将1改为2就行了. 
11.11更新过后,取消了inc_fun_SpGetFriendLink.php这个文件的调用. 
所以只须要打开inc_arcpart_view.php 
在410行附近 
CODE: 
    $wsql = " where ischeck=1 "; 
    if($type=="p_w_picpath") $wsql .= " And 标志<>‘‘ "; 
    else if($type=="text") $wsql .= " And 标志=‘‘ "; 
    else $wsql .= ""; 
[Copy to clipboard] 
同样将where ischeck=1改为2就可以 
3.1LIT版广告名称修改后无效的解决方案 
?tid=7135 
看4楼的回贴. 
dede新版怎么去掉列表的新闻摘要 
删除[field:info/] 
关于后台登陆验证码样式的修改 
?tid=6244 
当新闻描述中出现的英文长度大于table的宽度时,会搞的很难看 
[field:textlink /] 
改为 
<a href=‘[field:arcurl /]‘>[field:title function=‘cn_substr(@me,30)‘ /]</a> 
新建频道模型教程 
?tid=5972 
dedecms实现栏目页双样式 
<table width=‘100%> 
{dede:list type=‘full‘} 
<tr> 
<td class=‘[field:ID function=‘MagicVar("arch2","arch2")‘/]‘><b>[field:typelink /] [field:textlink /]</b>点击:[field:click /]([field:stime /])</td> 
</tr> 
{/dede:list} 
</table> 
我想实现一个功能,就是在新闻列表中(源码list_article)如果新闻有缩略图就显示缩略图,没有的话则直接显示新闻列表而不显示“没有缩略图”的图片。 
dedecms的扩展是用function形式的,因为加入if这种结构太占用资源,如果你有必要,你可以这样: 
[field:picname function="GetMyPic(‘@me‘)"/] 
在 inc_functions.php 里定义一个函数 
function GetMyPic($img) 

if($img=="") return ""; 
else return "<img src=‘$img‘ width=‘120‘ height=‘100‘ border=‘0‘>"; 

这样来处理 
这种做法可能会有点不便,但好处是既达到扩展目的,又不会占用太大资源,又不影响源码结构,实现真正的源码与代码分离 
点击图片进入下一页  
打开include/inc_archives_view.php 
大概在444行左右,找到 
$this->Fields[$this->SplitPageField]=$this->Fields[$this->SplitPageField]; 
注释掉,改为 
$this->Fields[$this->SplitPageField]=$this->ClickPicNext($this->Fields[$this->SplitPageField]); 
然后,Z后加上函数,注意在Z后一个括号里面! 
//把图片替换成链接 
//---------------------------- 
function ClickPicNext(&$body) 

if($this->NowPage!=$this->TotalPage){ 
  $lPage=$this->NowPage+1; 
  $body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\"|‘| ]{0,}((.*)>)/isU","<a href=‘".$this->NameFirst."_".$lPage.".".$this->ShortName."‘>"."\${0}"."</a>",$body); 
  //$body="<a href=‘".$this->NameFirst."_".$lPage.".".$this->ShortName."‘>".$body."</a> "; 
}else{ 
  if($this->GetNext()){ 
    $body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\"|‘| ]{0,}((.*)>)/isU","<a href=‘".$this->GetNext()."‘>"."\${0}"."</a>",$body); 
    //$body="<a href=‘".$this->GetNext()."‘>".$body."</a> ";    
  } 

  return $body; 

自动地把新闻中的图片替换为下一页的链接,如果是Z后一页,则为下一篇! 
注意:先要按下面的改法,把上一篇下一篇分开才行! 
[dede3.1][改法]上一篇下一篇分开调用,且限定新闻所在栏目内而不是现在的全站。 
?tid=5051  
在新闻列表中,有的标题被截断了,用什么样的代码可以让鼠标在上面的时候可以显示完整的文件名? 
{dede:arclist row=16 orderby=pubdate col=1 typeid=3} 
<li>· <a href="[field:arcurl /]" title ="[field:title/]">[field:title function="cn_substr(‘@me‘,30)" /]</a></li> 
{/dede:arclist} 
如何样在新闻名前面显示所属的新闻栏目? 
{dede:arclist row=10 orderby=pubdate} 
·[field:typelink/] [field:textlink/]<br/> 
{/dede:arclist} 
生成的新闻文件名能不能增加MD5加密 
自己改一下,这种属于典型的无聊需求吧 
include/inc_channel_unit_functions.php 

[field:writer /]如何没有用 
lit版inc_arcpart_view.php没有读取附加表 
修改include\inc\inc_fun_SpGetArcList.php第120行,在后面加 arc.writer, 
当然你也可以加入你还想引入的附加表内容如: 
arc.writer,arc.source,arc.shorttitle, 
新安装的DEDECMS3.0.1,one次登陆就说我密码错误! 
你要查一下是否有 dede_admin 这个表,如果有,看看有没有数据, 
如果用户名和密码没有不允许的符号的话, 
一般是服务器可能能无法完成安装的SQL导入才可能会提示用户名不存在 
手工加个用户就OK了. 
也可以在数据库中删除表dede_admin,然后重新安装即可 
关于listpage分页在生成会有表格的修改  
搜索  
//获取静态的分页列表 
在下面的几行可以看到分页的一些东东 
关于栏目多风格和系统底层模版的问题  
用arclist 
{dede:arclist 
typeid=‘‘ row=‘‘ col=‘‘ titlelen=‘‘  
infolen=‘‘ imgwidth=‘‘ imgheight=‘‘ listtype=‘‘ orderby=‘‘ keyword=‘‘} 
自定义样式源码(InnerText)   //这里定义你显示的样式..不要修改底层源码了..免得你自己麻烦. 
{/dede:arclist} 
另外栏目的源码可以不使用系统默认的{style}/list_article.htm 
你可以手工指定栏目的封面源码或是列表源码嘛..列如:{style}/list_class1.htm 
{style}/list_class2.htm 
等.这样就可以多风格了嘛. 
用dedecms做小说站的思路  
1、新建两个模型 
book模型和章节模型 
2、重新写档案发布程序,关键把两个模型关联起来,而现在提供内容模型的cmsware 和dede都是办不到的,而dede自建频道提供的档案发布程序项可以很好的利用。重新些这四个文件(两个界面和两个提交后处理的程序)即可。 
3、如果要做成起点中文网哪种模式,那就要在member目录下写关于投稿的程序,以及在plus里面写业务模式如计费、计点等功能的程序。 
其实, dede只是一个内容发布的框架,提供的后台工具只针对管理员而已,用户完全可以自我定制各种模型,不过要对dede熟悉一点而已。 
能写程序的不妨一试。 
为什么我的自定义标记总是被当做文本来输出 
标记里要加上 ismake=‘yes‘ 属性 
对图片网站优化的一些思考, 
<a href=‘[field:arcurl /]‘><img src=‘[field:picname /]‘ alt=‘[field:title /]‘ border=‘0‘ width=‘imgwidth‘ height=‘imgheight‘></a> 
参考arclist标记的说明,, 
dede编辑器的问题..从WORD复制进去的错误 
复制后安 工具栏 上那个右下角有黄色T的粘贴按钮~~~移上去有提示的,无格式粘贴  
标签的定义放在什么地方的 
凡是include里的文件,有什么 ***view.php 都是控制视图的 
关于自动分页的问题 
自动分页的大小为只能在2-5之前 
3 就是每个分页为3K的意思。 
这个跟动易的不一样,动易的是字节,所以你可以写2000 或则 3000 DEDE的是K 所以,你只能写 2或则3,我的错误在,我写成2000K!汗一个, 
这在DEDE里的意思是,一个分页允许到2M !自然不成功 
关于分页标题 
内容部分如下格式即可: 
分页标题1#e# 
第1页内容 
本文章网址:http://www.ppssdd.com/code/26967.html。转载请保留出处,谢谢合作!

DEDECMS 5.6 文章页添加边框的修改方法

DEDECMS 5.6 文章页添加边框的修改方法

Dedecms的文章页边缘部分是没有边框的,这样虽然看上去很大气,但是在你加上广告后,特别是文章左边环绕广告的时候就会发现,文章页看上去很乱

所以就把修改方法公布出来,给大家作为参考:

找到:templetsstylepage.css

找到这个文件后,用软件或者记事本打开,找到一下代码:

/*---------- viewBox ---------*/
.viewBox{
width:712px;
overflow:hidden;
padding-bottom:8px;


把他修改为:

/*---------- viewBox ---------*/
.viewBox{
width:710px;
overflow:hidden;
padding-bottom:8px;
border:1px solid #BADAA1;
}

即可,解释一下: #BADAA1这个是颜色代码,就是控制边框颜色

width:710px;此处改为710的原因是为了留出2px的地方来显示右边边框,否则右边是没有边框的,被挡到了

就是这么简单,其实我们只要懂CSS就可以做到了,如果您对CSS还不够了解,请参照提供的CSS中文手册。

总结

以上是小编为你收集整理的DEDECMS 5.6 文章页添加边框的修改方法全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

DedeCMS 5.7 标签tag长度限制的修改方法

DedeCMS 5.7 标签tag长度限制的修改方法

大家都知道默认情况下,Dedecms的标签tag长度是12个字节,也就是6个汉字,哪知道在织梦5.7中,也没有改掉这个烦恼的事,可能这个设定是基于效率问题考虑的,如果更新的时候设置的长度超过这个字符,系统就会不显示这个tag。有时候需要根据实际情况修改tag的长度,下面是方法,测试可用。

1.修改数据库中表dede_tagindex 和dede_taglist的tag字段属性:varchar(12)修改为varchar(255) 。

这个步骤需要直接操作数据库。

2.修改文件:/include/helpers/archive.helper.PHP

查找:if(isset($tag[12]) 修改为:if(isset($tag[255]) ;

再将if(isset($tag[20]) 修改为:if(isset($tag[255]) 。

总结

以上是小编为你收集整理的DedeCMS 5.7 标签tag长度限制的修改方法全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Dedecms tag 标签伪静态的修改方法

Dedecms tag 标签伪静态的修改方法

织梦内容管理系统Dedecms优化SEO,增加内链,可以把tag标签伪装成静态文件。如下文,介绍Dedecms tag标签伪静态的修改方法,需要的朋友可以参考下。

一、dede后台开启伪静态

二、修改 /include/taglib/tag.lib.PHP,找到:

$row['link'] = $cfg_cmsurl."/tags.PHP?/".urlencode($row['keyword'])."/";

改成

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";

三、打开templets/default/taglist.htm,找到:

当前位置: href="{dede:global.cfg_cmsurl/}/">主页 > href='tags.PHP'>TAG标签 > {dede:field.title /}

修改为

当前位置: href="{dede:global.cfg_cmsurl/}/">主页 > href='/tags.html'>TAG
标签 > {dede:field.title /}

四、httpd.ini 文件里加

RewriteRule ^(.*)/tags\.html $1/tags\.PHP RewriteRule ^(.*)/tags/(.*).html $1/tags\.PHP\?$2

然后进入dede后台更新缓存后,就搞定了。

dedecms tag标签伪静态的修改方法_dedecms_CMS教程

dedecms tag标签伪静态的修改方法_dedecms_CMS教程

dedecms tag标签伪静态的修改方法,需要的朋友可以参考下。 

一、dede后台开启伪静态
二、修改 /include/taglib/tag.lib.php
找到 $row[''link''] = $cfg_cmsurl."/tags.php?/".urlencode($row[''keyword''])."/";
改成 $row[''link''] = $cfg_cmsurl."/tags/".urlencode($row[''keyword'']).".html";
三、打开templets/default/taglist.htm
找到
当前位置::主页 > TAG标签 > {dede:field.title /}
修改为
当前位置::主页 > TAG标签 > {dede:field.title /}
四、httpd.ini 文件里加
RewriteRule ^(.*)/tags\.html $1/tags\.php
RewriteRule ^(.*)/tags/(.*).html $1/tags\.php\?$2
搞定啦~
新版本可以用下面的方法:
一、dede后台开启伪静态
二、修改 /include/taglib/tag.lib.php,找到:
$row[''link''] = $cfg_cmsurl."/tags.php?/".urlencode($row[''keyword''])."/";改成
$row[''link''] = $cfg_cmsurl."/tags/".urlencode($row[''keyword'']).".html";三、打开templets/default/taglist.htm,找到:
当前位置::主页 > TAG标签 > {dede:field.title /}修改为
当前位置::主页 > TAG标签 > {dede:field.title /}四、httpd.ini 文件里加
RewriteRule ^(.*)/tags\.html $1/tags.php;RewriteRule ^(.*)/tags/(.*).html $1/tags.php?/$2;
然后进入dede后台更新缓存后,就搞定了。

今天的关于dedecms中常见问题修改方法总结dedecms配置的分享已经结束,谢谢您的关注,如果想了解更多关于DEDECMS 5.6 文章页添加边框的修改方法、DedeCMS 5.7 标签tag长度限制的修改方法、Dedecms tag 标签伪静态的修改方法、dedecms tag标签伪静态的修改方法_dedecms_CMS教程的相关知识,请在本站进行查询。

本文标签: