16

一个小改造实现织梦列表页、内容页获取当前页面链接

做织梦系统的MIP开发改造时,需要实现获取当前列表页和内容页的链接,在网上找了一会,看有没有成品代码可抄,找来找去,都是不如意的,还有一些也实现不了。

花一会功夫,还是自己写一个吧,找代码比写代码用时还长呢。

把代码加到 /include/helpers/extend.helper.php 文件最后。

经实际应用的项目是全站静态页面的环境,其它环境(如果动态页面,或者是伪静态页面)未测试,使用时请注意观察。如果有问题需要帮助的话,可以联系我。 Continue reading

19

织梦采集到HTML实体后出现乱码保存不全的解决办法

织梦二次开发,织梦采集到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行(上下)

相关阅读:http://mrdede.com/?p=1511

十二 19

INNER JOIN 与 LEFT JOIN 之间的区别

一、sql的left join 、right join 、inner join之间的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

举例如下:  Continue reading

十一 22

GitLab版本管理-自建git仓库

GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。在线DEMO

社区版基于MIT license开源完全免费
无用户,协作和仓库限制
保护你的源码安全
管理仓库,用户与访问权限
更多功能请看这儿

依赖组件:ruby 1.9.3+,MySQL,git,redis, Sidekiq。
最低配置CPU 1G,RAM 1G+swap可以支持100用户。 Continue reading

26

github中mozilla的pdf.js开源项目实现在浏览器中查看PDF文件

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

25

织梦导航不显示外部链接栏目,修改channelartlist标签方法

在文件 include/taglib/channelartlist.lib.php第67行左右,

查找:

修改为:

即删除 AND ispart<>2

完成。

栏目为外部链接时默认使用新窗口打开,其它栏目使用当前窗口打开的修改方法。

查找:

在代码的下一行增加:

这样,在输出的链接后就自动增加了新窗口打开的代码了。 blank

25

dede:channelartlist嵌套channel高亮显示当前栏目与顶级栏目的修改方法

dede:channelartlist高亮显示顶级栏目修改方法:

文件位置:/include/taglib/channelartlist.lib.php

查找:

上面代码大约在100行左右,在其下方增加代码:

保存。

使用示例: Continue reading

15

DedeCMS让{dede:arclist}标签支持weight权重排序

5.6之后DEDE加入了文章按权重排序的功能,但很多童鞋调整权重数值,并在arclist标签里加上orderby=’weight’,却发现无任何效果,原因是系统默认是不开启该功能的。

正确的使用方法如下:

{dede:arclist titlelen='38' flag='h' noflag='a' isweight='y' orderby='weight'}

  <li><span>[[field:typelink/]]</span><a href=”[field:arcurl/]“>[field:title/]</a><div class=”c2time”>[field:pubdate function=MyDate('y-m-d',@me)/]</div></li>

{/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‘);