织梦带二级栏目的导航菜单高亮显示,下面代码未精简。客户就让我在模板里干,所以简单粗暴。
导航截图:
织梦模板代码如下: Continue reading
做织梦系统的MIP开发改造时,需要实现获取当前列表页和内容页的链接,在网上找了一会,看有没有成品代码可抄,找来找去,都是不如意的,还有一些也实现不了。
花一会功夫,还是自己写一个吧,找代码比写代码用时还长呢。
把代码加到 /include/helpers/extend.helper.php
文件最后。
经实际应用的项目是全站静态页面的环境,其它环境(如果动态页面,或者是伪静态页面)未测试,使用时请注意观察。如果有问题需要帮助的话,可以联系我。 Continue reading
织梦二次开发,织梦采集到HTML实体后出现乱码保存不全,主要是因为这个字符“&”造成的。
解决办法就是把HTML实体转为字符,使用html_entity_decode()
函数。
想再转为HTML实体,那使用PHP的htmlentities()
函数。
修改方法如下:
1、找到文件:/include/dedecollection.class.php
2、搜索addslashes($v['title'])
,替换为addslashes(html_entity_decode($v['title']))
注:一共有2处,在1035行(上下)和1118行(上下)
织梦采集https时出错,织梦二次开发,织梦采集https协议时却生成了http协议请求
需要修改脚本
1、找到文件 /include/dedehtml2.class.php,增加变量 $Scheme,如下图: Continue reading
一、sql的left join 、right join 、inner join之间的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
举例如下: Continue reading
PDF.js是一个用HTML5构建的便携文档格式(PDF)浏览器。
PDF.js是社区驱动的,由Mozilla实验室支持。目标是创建一个通用的、基于web标准的平台,用于解析和呈现pdf。
下面方法是在github中抄来的,我此次的项目是织梦二次开发,也就是说网站php环境的,不是nodejs。客户的需求是上传word文档后,可直接在浏览器中查看,那么我变通一下就是把这些文档转成PDF格式,之后使用PDF.js实现在浏览器中查看。我虽然全局安装了gulp,但是没有使用gulp server这条命令。在测试时访问http://域名/pdf.js/web/viewer.html,viewer.html没有做任何修改,加载了超多的js文件,造成很慢很慢,访问http://域名/pdf.js/examples/components/simpleviewer.html 只加载了必要的js,访问速度还可以。
所以,在使用中,还需要结合自己的实际需求来斟酌、测试。 Continue reading
在文件 include/taglib/channelartlist.lib.php第67行左右,
查找:
0 |
$tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 "; |
修改为:
0 |
$tpsql = " reid=0 AND ishidden<>1 AND channeltype>0 "; |
即删除 AND ispart<>2
完成。
栏目为外部链接时默认使用新窗口打开,其它栏目使用当前窗口打开的修改方法。
查找:
0 |
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]); |
在代码的下一行增加:
0 1 2 |
if($typeids[$i]['ispart'] == 2){ $pv->Fields['typeurl'] = $pv->Fields['typeurl'].'" target="_blank'; } |
这样,在输出的链接后就自动增加了新窗口打开的代码了。 blank
文件位置:/include/taglib/channelartlist.lib.php
查找:
0 |
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]); |
上面代码大约在100行左右,在其下方增加代码:
0 1 2 3 4 |
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){ $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'active'; }else{ $pv->Fields['currentstyle'] = ''; } |
保存。
使用示例: Continue reading
5.6之后DEDE加入了文章按权重排序的功能,但很多童鞋调整权重数值,并在arclist标签里加上orderby=’weight’,却发现无任何效果,原因是系统默认是不开启该功能的。
正确的使用方法如下:
{dede:arclist titlelen='38' flag='h' noflag='a' isweight='y' orderby='weight'}
{/dede:arclist}
红色部分就是开启 weight排序,再加上orderby=’weight’,就OK了
——————————————————————————–
另外使用arclist标签时,想按照权重越大越靠前来排序,则需要小动一下arclist.lib.php文件,方法如下:
打开\include\taglib\arclist.lib.php
大概在572行
$orderWeight = list_sort_by($orderWeight, ‘weight’, ‘asc’);
修改为(红色部分)
$orderWeight = list_sort_by($orderWeight, ‘weight’, ‘desc‘);
打开include/arc.searchview.class.php
查找:
0 1 |
require_once(DEDEINC."/taglib/hotwords.lib.php"); require_once(DEDEINC."/taglib/channel.lib.php"); |
在下面加入:
0 1 |
require_once(DEDEINC."/taglib/arclist.lib.php"); require_once(DEDEINC."/taglib/channelartlist.lib.php"); |
找到:
0 1 2 3 |
else if($tagname=="hotwords") { $this->dtp->Assign($tagid,lib_hotwords($ctag,$this)); } |
在下面插入:
0 1 2 3 4 5 6 7 |
else if($tagname=="arclist") { $this->dtp->Assign($tagid,lib_arclist($ctag,$this)); } else if($tagname=="channelartlist") { $this->dtp->Assign($tagid,lib_channelartlist($ctag,$this)); } |
这样就可在dedecms织梦搜索页面使用arclist和channelartlist标签调用数据了。