27日 2016年12月
By Leo

YII2 GridView的Pjax 手动触发与不触发

在Yii2中GridView可以使用pjax方式刷新,可以很好的提升用户体验,简化程序开发人员自己ajax刷新表格的工作复杂程度。可是有些时候,我们需要手动的触发表格刷新,或者有些链接我们在点击的时候,不希望触发pjax,这个需要怎么实现呢,接下来我们就讲下在Yii2中如何实现。首先如果我们有链接不想触发pjax,比如一些操作按钮,直接跳转到其他页面 那么只需要在链接上加上以下标签就可以data-pjax="0" a class="btn btn-success" title="添加" data-pjax="0" href="create"i class="glyphicon glyphicon-plus"/i/a 上面就是一个添加新... [继续阅读]

3602 浏览 评论 YII2 , Pjax
23日 2016年12月
By Leo

Yii2 可编辑列直接修改表格数据

很多时候,我们希望在curd的index页面直接修改一些数据,而不是进入到编辑页面修改保存。这里给大家提供一种使用kartik-v扩展的实现方法。 首先使用composer安装一些必要扩展 "kartik-v/yii2-grid": "@dev", "kartik-v/yii2-editable": "1.7.x-dev", "kartik-v/yii2-widgets": "3.4.0.x-dev", "kartik-v/yii2-date-range": "1.6.x-dev" 然后再我们的views的index.php里面用它的gridview替换系统的gridview use kartik\grid\GridView; 修改其中需要编辑的列(比如文章标题title) [ 'cl... [继续阅读]

4060 浏览 评论 YII2
29日 2016年09月
By Leo

Yii2博客实战教程——微信扫码登陆的实现

随着微信的普及,越来越多的网站开始支持微信扫描二维码登录的方式,大大降低了用户的使用注册成本,提高了用户体验。下面我们就来讲讲如何使用微信的扫一扫功能实现用户登录。首先,我们必须有微信公众账号,并且拥有oauth授权接口的权限,如果没有的话,还有个办法就是申请一个微信公众号的测试账号,完成开发功能后再切换到正式账号上使用。具体步骤参考微信公众平台及开发文档。我们这里着重讲解下YII2下的开发。整个登陆的流程如下所示:第一步,用户访问网站登录页面,页面提供二维码。这里我们需要使用php生成二维码供用户使用... [继续阅读]

4693 浏览 评论 YII2 , 微信 , 扫码登陆
29日 2016年09月
By Leo

Yii2博客实战教程——用crontab和congsole控制器同步多说评论

接着上一篇《Yii2博客实战教程——多说评论的整合》,我们发现一个问题,就是如果采用第三方的评论插件,博客列表页面的评论数量如何获取呢?不要着急,接下来我们就一步步教大家如何同步多少的评论数据。 1.首先查看多说提供的api文档,我们发现它提供了获取文章的评论数的api具体请看http://dev.duoshuo.com/docs/50615732a834c63c56004257 ,我们可以测试下直接在浏览器中访问api地址 http://api.duoshuo.com/threads/counts.json?short_name=linhongxuthreads=201 这样就会返回你如下的json信息 { "response": { "201": { ... [继续阅读]

2763 浏览 评论 YII2 , crontab , 定时任务
29日 2016年09月
By Leo

Yii2博客实战教程——多说评论的整合

博客中评论必不可少,今天我们就给大家介绍一款非常实用的社会化评论插件——多说评论。官网是http://duoshuo.com/首先登陆多说,然后创建站点完成后多说会自动跳转到代码位置,我们只需复制他提供的代码修改相关参数,放入我们的博客页面就可以完成啦!-- 多说评论框 start -- div class="ds-thread" data-thread-key="请将此处替换成文章在你的站点中的ID" data-title="请替换成文章的标题" data-url="请替换成文章的网址"/div !-- 多说评论框 end -- !-- 多说公共JS代码 start (一个网页只需插入一次) -- script type="text/ja... [继续阅读]

2491 浏览 评论 YII2 , 多说评论
29日 2016年09月
By Leo

Yii2博客实战教程——使用缓存减少数据库访问的压力

缓存的使用可以明显改善用户访问的体验,加快用户访问的速度,同时也可以有效降低服务器的负担,提升服务器的吞吐能力。一般来讲,缓存可以分为几个层次。一个是前端的各种html、css、js的缓存,这些静态资源一般我们采用cdn来解决。二是服务器端的缓存,这部分缓存实际是是对数据访问的缓存。对于那些不经常发生变动的或者访问频率较高的数据进行缓存处理,是一种十分经济有效的提升用户体验的方式。接下来我们就讲讲在yii2中如何使用数据缓存。YII2中原生为我们提供了缓存组建,用户可以自行配制不同的缓存存储方式。 yii\caching\A... [继续阅读]

5761 浏览 评论 YII2 , 缓存
28日 2016年09月
By Leo

Yii2博客实战教程——前台页面的整合(如何自定义widget小部件)

小部件是Yii的一个非常实用的功能,各类第三方小部件可以使得整个开发变得非常的愉快,那么如果想自己开发一个小部件我们应该怎么做呢,接下来我们就讲讲如何自定义小部件。我们以博客的侧边栏为例进行讲解。1.首先在common的widgets中创建SideBarWidget文件夹用来存放所有widget的各种文件。2.创建一个SideBar类继承自yii\base\Widget。类中有两个重要的方法一个是init() 一个是run()相信不用我说大家也知道这两个方法是干嘛的吧。3.创建Widget视图。一般来讲Widget可以使用两种方式展示内容。一种是直接在用到的view里面写,形式如下... [继续阅读]

2521 浏览 评论 YII2 , widget小部件
28日 2016年09月
By Leo

Yii2博客实战教程——富文本编辑器redactor的使用

本篇我们继续博客后台功能的设计,既然是博客那必不可少的需要所见即所得wysiwyg编辑器。常用的有ckeditor、ueditor、kindeditor等等。最近发现了一个redactor非常好用,而且可以和yii2无缝整合,简直不能喜欢更多,所以接下来我们讲讲如何在项目中使用redactor。官方git是https://github.com/yiidoc/yii2-redactor里面也有官方的英文版本的安装步骤可以供大家参考。1.使用composer安装composer require --prefer-dist yiidoc/yii2-redactor "*" 2.在backend/config/main中修改添加redactor模块'modules' = [ 'redactor' = '... [继续阅读]

3524 浏览 评论 YII2 , redactor
28日 2016年09月
By Leo

Yii2博客实战教程——使用原生captcha验证码

YII2中原生提供了验证码模块使用非常简单。我们以登陆时增加验证码为例:首先在site的controller里面新加一个action用户访问验证码我们命名为captchapublic function actions() { return [ 'error' = [ 'class' = 'yii\web\ErrorAction', ], 'captcha' = [ 'class' = 'yii\captcha\CaptchaAction', 'maxLength'=4, 'minLength'=4, ], ]; } 同时我们要放开权限让未登录的用户... [继续阅读]

3175 浏览 评论 YII2 , captcha
27日 2016年09月
By Leo

yii2高级模板目录结构及配置

由于高级模板相对基础模板较为复杂,目录结构如下所示common config/ 公共配置将作用于前台和后台 mail/ 发送邮件的视图模板文件 models/ 公共model类 tests/ 测试 console config/ console配置 controllers/ console控制器(commands) migrations/ 数据库migration文件 models/ console-specific model runtime/ 运行时生成的文件 backend assets/ ... [继续阅读]

2191 浏览 评论 YII2 , 高级模板 , 目录结构