月度归档:2017年11月

教你不开会员下载千图网千库网的图片素材

小编工作经常要用到P图技能,不算是专业的,所以特别以来素材,可是素材虽好很多都是要收费的或者要开会员的,下面给大家分享几个免费的图片素材网站。

 

1.优界网——UI设计师必备网站,超过1000万张灵感图,素材,背景图,样机免费下载

最大的特色就是免费,VIP天天签到就可以一直免费下去,网址:http://97ui.com/?r=556438

QQ截图20170920115734.png

2.阿里巴巴矢量图标库——阿里巴巴旗下的图标素材网站

缺点是刚上线,图标素材不是很多,不清楚是否可以商用,网址:http://www.iconfont.cn/

QQ截图20170920120859.png

还有素材中国,千图网、千库网可以花几元钱在某宝上买一个第三方下载平台的账号非常方便。

Dede列表页调用图集内容多张图片的方法

新做一个以图片为主的网站,采用的DEDECMS图集,列表页要求直接调内容面的大图,解决方法如下:(主要是采用php的正则匹配函数preg_match_all函数来巩固复习下该函数:preg_match_all(“正则表达式”,匹配的内容,保存在数组中);保存在数组中的数据是 按照这样的格式进行保存的数组[0] 是 符合条件的 一条 语句;数组[1][2][3]…等等内容分别是正则表达式 第1、2、3个匹配符 所匹配的 数据preg_match_all 匹配出来的 该数组是三维数组也就是说数组[1]仍旧是一个数组)

 

1、在include/common.func.php 中添加以下函数代码

代码如下:
// 在图集列表中调出图集的所有图片
function Getimgs($aid, $imgwith = 220, $imgheight = 80, $num = 0, $style = ”){
global $dsql;
$imgurls = ”;
$row = $dsql -> getone(“Select * From`dede_addonimages` where aid=’$aid'”); //
$imgurls = $row[‘imgurls’];
preg_match_all(“/{dede:img (.*)}(.*){\/dede:img/isU”, $imgurls, $wordcount);
$count = count($wordcount[2]);
if ($num > $count || $num == 0){
$num = $count;
}
for($i = 0;$i < $num;$i++){
if($style == ‘li’){
$imglist .= “<li><a href=#” . $i . “><imgsrc=”. trim($wordcount[2][$i]) . ” width=” . $imgwith . ” height=” . $imgheight . “></a></li>”;
}else{
$imglist .= “<li><img class=’lazy’ src=’../images/grey.gif’ data-original=”. trim($wordcount[2][$i]).” width=” . $imgwith . ” height=” . $imgheight . “></li>”;
//此处用到了jquery的loadlazy延时加载插件。
}
}
return $imglist;
}

模板中 [field:id function=”Getimgs(@me,220,80,90)” /]

说明: 第一个参数 当前ID 第二个第三个, 图片尺寸。 第四个图片张数。

也可以这样用

代码如下:
{dede:arclist row=’3′} // row=3 调用三个图集
[field:id function=”Getimgs(@me,136,62,4)” /] //每个图集调用前4张
{/dede:arclist}

2、也可以这样用, 在列表页{dede:list}之间调用[field:id function=”Getimgs(@me,80,80,9)” /],例如:
{dede:list pagesize=’12’}
[field:id function=”Getimgs(@me,80,80,9)” /]
{/dede:list}
如在其它地方调用,可用:{dede:field.id function=”Getimgs(@me,400,400,10)” /}

列表页调用图集内容多张图片的方法就是以上方法,赶快试试吧!

Sublime Text 3 快捷键总结 不谢,我叫MAXWO

以下是个人总结不完全的快捷键总汇,祝愿各位顺利解放自己的鼠标。

选择类

Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。

Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。

Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。

Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。

Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。

Ctrl+M 光标移动至括号内结束或开始的位置。

Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。

Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。

Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。

Ctrl+Shift+] 选中代码,按下快捷键,展开代码。

Ctrl+K+0 展开所有折叠代码。

Ctrl+← 向左单位性地移动光标,快速移动光标。

Ctrl+→ 向右单位性地移动光标,快速移动光标。

shift+↑ 向上选中多行。

shift+↓ 向下选中多行。

Shift+← 向左选中文本。

Shift+→ 向右选中文本。

Ctrl+Shift+← 向左单位性地选中文本。

Ctrl+Shift+→ 向右单位性地选中文本。

Ctrl+Shift+↑ 将光标所在行和上一行代码互换(将光标所在行插入到上一行之前)。

Ctrl+Shift+↓ 将光标所在行和下一行代码互换(将光标所在行插入到下一行之后)。

Ctrl+Alt+↑ 向上添加多行光标,可同时编辑多行。

Ctrl+Alt+↓ 向下添加多行光标,可同时编辑多行。

编辑类

Ctrl+J 合并选中的多行代码为一行。举个栗子:将多行格式的CSS属性合并为一行。

Ctrl+Shift+D 复制光标所在整行,插入到下一行。

Tab 向右缩进。

Shift+Tab 向左缩进。

Ctrl+K+K 从光标处开始删除代码至行尾。

Ctrl+Shift+K 删除整行。

Ctrl+/ 注释单行。

Ctrl+Shift+/ 注释多行。

Ctrl+K+U 转换大写。

Ctrl+K+L 转换小写。

Ctrl+Z 撤销。

Ctrl+Y 恢复撤销。

Ctrl+U 软撤销,感觉和 Gtrl+Z 一样。

Ctrl+F2 设置书签

Ctrl+T 左右字母互换。

F6 单词检测拼写

搜索类

Ctrl+F 打开底部搜索框,查找关键字。

Ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找,略高端,未研究。

Ctrl+P 打开搜索框。举个栗子:1、输入当前项目中的文件名,快速搜索文件,2、输入@和关键字,查找文件中函数名,3、输入:和数字,跳转到文件中该行代码,4、输入#和关键字,查找变量名。

Ctrl+G 打开搜索框,自动带:,输入数字跳转到该行代码。举个栗子:在页面代码比较长的文件中快速定位。

Ctrl+R 打开搜索框,自动带@,输入关键字,查找文件中的函数名。举个栗子:在函数较多的页面快速查找某个函数。

Ctrl+: 打开搜索框,自动带#,输入关键字,查找文件中的变量名、属性名等。

Ctrl+Shift+P 打开命令框。场景栗子:打开命名框,输入关键字,调用sublime text或插件的功能,例如使用package安装插件。

Esc 退出光标多行选择,退出搜索框,命令框等。

显示类

Ctrl+Tab 按文件浏览过的顺序,切换当前窗口的标签页。

Ctrl+PageDown 向左切换当前窗口的标签页。

Ctrl+PageUp 向右切换当前窗口的标签页。

Alt+Shift+1 窗口分屏,恢复默认1屏(非小键盘的数字)

Alt+Shift+2 左右分屏-2列

Alt+Shift+3 左右分屏-3列

Alt+Shift+4 左右分屏-4列

Alt+Shift+5 等分4屏

Alt+Shift+8 垂直分屏-2屏

Alt+Shift+9 垂直分屏-3屏

Ctrl+K+B 开启/关闭侧边栏。

F11 全屏模式

Shift+F11 免打扰模式

DedeCMS一篇文章发布到多个副栏目

DedeCMS设置副栏目的功能并不完善,比如装修网站经常会出现设计师和作品进行关联;设备类型网站产品与案例关联等,封面模板一般用arclist标签调用,但调用不出来与之相关联栏目下的文章。网上的基本都是错误的,下面结合频道新增自定义字段进行修改。

开启副栏目功能

依次点击

后台 -> 系统 -> 性能选项 -> 是否启用副栏目,勾选“是”

修改部分

打开/include/taglib/arclist.lib.php,找到

if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';
else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';

修改为

if($CrossID=='') $orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).') or arc.typeid2 in ('.GetSonIds($typeid).')';
else $orwheres[] = ' arctypeid in ('.GetSonIds($typeid).','.$CrossID.') or arc.typeid2 in ('.GetSonIds($typeid).','.$CrossID.')';

首页、频道封面、内容页调用方法

{dede:arclist typeid='1' channelid='1' addfields='leixing'}
标题:[field:title/]
类型:[field:leixing/]
{/dede:arclist}

DedeCMS迁移data文件夹完整教程

一般在本地搭建好网站后,会网站搬家到服务器上,都说DedeCMS漏洞多,其实只要会设置,就不会那么容易被不法分子利用。

DedeCMS安全设置有一项是把根目录下的data文件夹移出根目录,一般只能在IIS服务器上进行;如果是虚拟主机,则需要把网站安装在子目录下,data文件夹到根目录下,详情参考文章《万网用.htaccess二级域名绑定子目录》。

官方的教程被吐槽过了,就不详述了,移出data文件夹虽然安全了,但是会有很多问题,比如验证码,图片显示灯问题,这里是本人测试过的方法,分享给大家。

DedeCMS移出data文件夹

可以看到www是网站的根目录,data文件夹是在该网站的外面,黑客根本无法访问,也就最大程度的保证了网站数据库信息的安全。

全新安装DedeCMS移出data文件夹

FTP登陆服务器根目录,打开/include/common.inc.php,找到

define('DEDEDATA', DEDEROOT.'/data');

修改为

define('DEDEDATA', DEDEROOT.'/../data');

打开根目录下的/index.php,找到

if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))

修改为

if(!file_exists(dirname(__FILE__).'/../data/common.inc.php'))

重新进入后台,看能否正常访问,按照下面步骤

系统 -> 系统基本参数 -> 性能选项 -> 模板缓存目录 -> 填写 /../data/tplcache

DedeCMS已移出data文件夹的网站搬家

一般网站搬家主要流程是:备份数据库,再把整站打包,重新安装后台程序,再还原数据库。

如果已经移出了data文件夹就不好办了,最好把上面/include/common.inc.php,/index.php还原到初始状态,把data文件夹复制一份放到web网站根目录,再重新安装,以免出错。安装好后,再进行修改即可。

DedeCMS调用相关文章likearticle附加自定义字段

DedeCMS非常灵活,可以根据关键词、文章标题调用文章,以提高内容之间的相关度,提高页面权重。实现这个功能主要用likearticle标签,该标签只能用在内容页,默认不能调用自定义附加字段,但经常会用到调用附加表字段功能,修改方法如下:

打开/include/taglib/likearticle.lib.php,找到

$row['templeturl'] = $GLOBALS['cfg_templeturl'];

下面增加代码

$addfile = $refObj->ChannelUnit->ChannelInfos["listfields"]; //获取文章模型的自定义字段列表
if($addfile){
  $addfiles = explode(",",$addfile);  //拆分成数组
  $len = count($addfiles);
  for($j=0;$j<$len;$j++){    //循环处理每一个数组元素
    $fname = $addfiles[$j];
    //获取每一个元素对应的值,并将元素名作为用于显示的$row数组的ID键,并赋值。
    $row[''.$fname.''] = $refObj->Fields[''.$fname.''];
  }
}

调用自定义附加字段的其他修改方法

{dede:likeartlist row='10'}
<a href='[field:arturl/]'>
 <p>
  [field:id runphp='yes']
  $aid = @me;
  $row = $GLOBALS['dsql']->GetOne("Select 字段名 From `dede_addon11` where aid='$aid' "); //根据实际需要修改附加表
  @me = cn_substr(strip_tags("{$row['字段名']}"),600);
  [/field:id]
 </p>
</a>
{/dede:likearticle}