Yii实战中8个必备常用的扩展,模块和widget
Yii实战中8个必备常用的扩展,模块和widget
在经过畅K网 的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自己留个备忘录,下面我以代码加图片说明.
1. Ajax多文件上传组件 (swfupload ).
直达地址: http://www.yiiframework.com/extension/swfupload
Yii本身提供了 CUploadedFile(单文件上传) 和 CMultiFileUpload(多文件上传) widget组件,但是如里要
打造高性能的基于Ajax的多文件上传,就目前我所理解的,这个是一个比较好的解决方案,上传几个美女作为演式.
例图:
注:需要配合 CActiveForm 使用客户端验证和Ajax验证方可
2. 图片处理( image)
上传完图片,当然还要进行图片处理,
直达地址: http://www.yiiframework.com/extension/image
优点: 功能强大,简单易用,易扩展,支持GD和IM
缺点: 不支持水印,如果需要水印要自己扩展.
例,生成的缩略图:
3. 所见所得编辑器组件( tinymce)
直达地址: http://www.yiiframework.com/extension/tinymce
结合上面两个组件swfupload 和 image, 打造的强大所见所得编辑器.
这是畅K网 和IT快讯网 的例图:
如果你的tinymce 需要代码高亮显示功能,参见我写的这篇文章.
Yii tinymce结合syntaxHighlighter和syntaxhl实现语法高亮
如果你需要更加轻量级的,可以考虑使用markitup .
4. rights模块,一个强大灵活的生台权限管理.
直达地址: http://www.yiiframework.com/extension/rights
例图:
优点: 强大灵活的图形管理界面,支持角色权限继承概念.
缺点: 由于过于灵活,存在很大的性能问题,如果流量大而没有能力扩展和修改该模块,建议使用其它模块.
上面例图是我扩展了菜单动态授权以及进行了简化,优化了性能的版本,扩展了该模块的过滤器支持角色权限和角色菜单动态配置.
5. debugtoolbar 调式组件.
直达地址: http://www.yiiframework.com/extension/yiidebugtb
6. mail(发送邮件)
直达地址: http://www.yiiframework.com/extension/mail
一个SwiftMailer包装,这个大家肯定用得着.
7. facebox,支持Ajax和图片显示的facebook风格Dialog.
可应用于很多场合,像在畅K网 中,我使用收藏店铺,图片显示等等.
例图:
缺点: 只能显示一张图片.
8. fancybox 多图片显示就需要用到这个拉.
直达地址: http://www.yiiframework.com/extension/fancybox
还有很多像内置的CStarRating(投票widget), 就不再一一列出,文档有详细介绍.这是个人在项目中常用的就这些,欢迎大家分享好更多实用的模块和插入.
Yii实战中8个必备常用的扩展,模块和widget的更多相关文章
- 转:Yii实战中8个必备常用的扩展,模块和widget
转载自:http://www.yiiframework.com/wiki/180/yii8/ 在经过畅K网的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自 ...
- yii模板中常用变量总结
yii模板中常用的一些变量总结. 现有这样一个url:http://www.phpernote.com/demos/helloworld/index.php/xxx/xxx 则通过如下方式获取的值对应 ...
- SSIS从理论到实战,再到应用(7)----常用的数据类型转换操作
原文:SSIS从理论到实战,再到应用(7)----常用的数据类型转换操作 上期回顾: SSIS从理论到实战,再到应用(6)----SSIS的自带日志功能 在抽取各种应用的数据时候,经常会遇到数据需要转 ...
- Bugku-CTF之网站被黑(这个题没技术含量但是实战中经常遇到)
Day11 网站被黑 http://123.206.87.240:8002/webshell/
- Hybrid App 应用开发中 9 个必备知识点复习(WebView / 调试 等)
前言 我们大前端团队内部 ?每周一练 的知识复习计划继续加油,本篇文章是 <Hybrid APP 混合应用专题> 主题的第二期和第三期的合集. 这一期共整理了 10 个问题,和相应的参考答 ...
- Nmap在实战中的高级用法(详解)
@ 目录 Nmap在实战中的高级用法(详解) Nmap简单的扫描方式: 一.Nmap高级选项 1.查看本地路由与接口 2.指定网口与IP地址 3.定制探测包 二.Nmap扫描防火墙 1.SYN扫描 2 ...
- ashx中Response.ContentType的常用类型
ashx中Response.ContentType的常用类型: text/plaintext/htmltext/xmlapplication/jsonimage/GIFapplication/x-cd ...
- DataGridView 中添加CheckBox和常用处理方式 .
DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...
- Yii 框架中安装 memcache 及配置和测试
安装php_memcache.dll扩展 1.首先将php_memcache.dll文件放入E:\server\php\ext目录下 (php_memcache.dll下载地址:http://wind ...
随机推荐
- 编译安装mysql5.7
### 注意版本和此次更新时间 2018-3-11 版本:mysql-5.7.x 环境:linux7.x C/C++编译器安装 yum install gcc g++ -y CMake 是一个跨平台的 ...
- 优化sql用到的方法
set statistics profile on set statistics io on set statistics time on declare @begin_date datetime d ...
- 代码从Polyline读取到的坐标和属性对话框显示的不一样?
属性窗口中查询的第一个点坐标: 程序输出的各个点坐标: 差这么多? 原来是坐标系的问题,程序查询到的是世界坐标,属性窗口中是当前ucs坐标 Document doc = Application.Doc ...
- What does "exceeded limit of maxWarmingSearchers=X" mean?
Whenever a commit happens in Solr, a new "searcher" (with new caches) is opened, "war ...
- uoj#213. 【UNR #1】争夺圣杯
http://uoj.ac/problem/209 单调栈求出每个位置x左边第一个大于它的位置L[x]和右第一个不小于它的位置R[x],于是矩形L[x]<=l<=x<=r<=R ...
- vue-router2.0
在使用vue.js创建单页运用的时候,我们通常的做法是配合vue-router一起使用,通过vue-router将组建映射到路由并进行渲染. 例如我们要实现两个页面的切换跳转,就需要使用路由,这里不再 ...
- mariadb semi plugin遇到的坑
安装完semi plugin运行一段时间后,重启mariadb, 突然发现canal无法解析数据了,一直在报错,然后登陆mariadb, show plugins竟然没有看到之前安装的semi plu ...
- Android Studio启动后出现cannot bind to 127.0.0.1:5037 10048的解决办法
第一次:先连接测试手机,然后启动Android studio时出现下面的弹框,网上查找资料说是360手机助手导致的,但是发现没有安装360手机助手只有360,卸载360后再启动Android stud ...
- typescript泛型接口
//函数类型接口 /* interface ConfigFn{ (value1:string,value2:string):string; } var setData:ConfigFn=functio ...
- Abp.AutoMapper扩展(1) --static class AutoMapExtensions
// 摘要: // Converts an object to another using AutoMapper library. Creates a new object ...