织梦gbk程序在php5.4下系统基本设置不能保存中文以及在编辑器下中文不显示的问题
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
织梦系统gbk版上传到服务器发现系统基本设置下面不能保存中文,发现是网站编码的问题,我utf8的织梦在php5.4下就没问题,所以,要给表单中的字符转码。
后台-系统基本参数无法保存中文 修改方法:
dede\templets\sys_info.htm里面搜索
htmlspecialchars($row[‘value’])
替换成
htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′)
如果发现还有其他页面,也没办法保存中文,最好在dreamweaver下整站搜索htmlspecialchars($row[‘value’]),然后批量替换成htmlspecialchars($row[‘value’],ENT_COMPAT ,’GB2312′),这样就能保证系统的表单没问题。
但是这个修改的方法,对编辑器中的中文没办法,还要修改编辑器,方法为:
还有标签也不显示,修改方法为:
1、dede/article_add.php 和 dede/article_edit.php将
$title=htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title=htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,’GB2312′);
这些都没问题后,发现 核心-批量维护-tag标签管理里面的中文标签全部都不显示了,真是麻烦,修改方法:
打开/dede/templets/tags_main.htm
找到:
$fields[‘tag’]=htmlspecialchars($fields[‘tag’]);
替换为
$fields[‘tag’]=htmlspecialchars($fields[‘tag’],ENT_COMPAT ,’GB2312′);
这样修改,tag标签就显示了。
这样一修改,在php5.4下的gbk版织梦就不会出现编码的问题了。
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(330921598)进行交流。
因织梦DEDEV5起,加强了对SQL注入和安全的检查,导致无法查询一些正常的子查询的SQL。以下代码用来解决查询当前栏目及当前栏目下所有子栏目的文章总数,添加到/include/common.func.php
或者
/include/extend.func.php中,然后在模板中调用getTotalArcByTid(1)。
代码如下:
模板中调用的方法一般为:调用方法:
{dede:field.typeid function=”getTotalArcByTid(@me)”/}
或者
[field:typeid function=”getTotalArcByTid(@me)”/]
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(330921598)进行交流。
首先我们需要调整织梦评论楼层显示的顺序,织梦默认的顺序最后发布的评论显示在最上面,我们需要改成最先发布的显示在最上面,最后发布的就显示在最下面。
这个很好改,打开/plus/feedback_ajax.php,将下面这句SQ语句中的DESC去掉或者改成ASC即可。
$querystring=”SELECT fb.*,mb.userid,mb.face as mface,mb.spacesta,mb.scores,mb.sex
FROM `dede_feedback` fb LEFT JOIN `dede_member` mb on mb.mid=fb.mid
WHERE fb.aid=’$aid’ AND fb.ischeck=’1′ ORDER BY fb.id DESC”;
然后在下面找到“while($fields=$dsql->GetArray(‘fb’))”,在这句代码的上面加入“$i=0;”
在while循环里加入“$i++;”,这样每次循环输出楼层时,$i就会自动增加1,如下图所示:
然后在显示楼层的地方(从第303行开始),输入“楼”即可。
dedecms5.7获取顶级栏目名称的标签
下面是调用顶级栏目名称的方法:
方法一:
这个方法语句有些长。
方法二:
方法三:
方法四(推荐):
打开include/helpers/extend.helper.php,添加一个函数:
if ( ! function_exists(‘getTopChannelName’))
{
function getTopChannelName($id) {
global $dsql;
$typeinfo=$dsql->GetOne(“SELECT * FROM `dede_arctype` WHERE id='{$id}'”);
if($typeinfo[‘reid’]==0) return $typeinfo[‘typename’];
else return getTopChannelName($typeinfo[‘reid’]);
}
}
在列表页这么使用:{dede:field name=’id’ function=’getTopChannelName(@me)’/}
在内容页这么使用:{dede:field name=’typeid’ function=’getTopChannelName(@me)’/}
附带获取顶级栏目的url:
打开include/helpers/extend.helper.php,添加一个函数:
if ( ! function_exists(‘getTopChannelUrl’))
{
function getTopChannelUrl($id) {
global $dsql;
$typeinfo=$dsql->GetOne(“SELECT * FROM `dede_arctype` WHERE id='{$id}'”);
if($typeinfo[‘reid’]==0) return GetOneTypeUrlA($typeinfo);
else return getTopChannelUrl($typeinfo[‘reid’]);
}
}
使用方法同上。
最新的织梦版本(2018-01-09)修改了include文件夹中的common.func.php,增加了两个函数。
下载的模板文件夹中如果提供了common.func.php文件,很有可能没有这两个函数,于是会造成错误。
需要将这两个函数的代码粘贴到/include/common.func.php文件中,代码如下:
/**将以上代码粘贴到
* 载入小助手,系统默认载入小助手
这段代码的上方即可。
dede如何控制隐藏栏目的显示与调用
许多时候有些栏目想在某些页面隐藏,在另外一些页面显示,怎么办?
貌似,织梦的channel标签不能获取隐藏的栏目,于是我自己动手修改channel标签
首先找到include/taglib/channel.lib.php
1.
$attlist=”typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|”;
修改为:
$attlist=”typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,showhide|no”;
2.
在这两句下
$innertext=$ctag->GetInnerText();
$line=empty($row) ? 100 : $row;
增加:
3.
修改为:
在做表单验证提交的时候,发现提交不了,检查代码没错,后来才知道原来是提交按钮的id不能设为submit,改成其他的就ok了。