`
niqingyang
  • 浏览: 44141 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
KindEditor在ie和火狐浏览器中可以直接对页面进行截图在复制黏贴进入文本框中,而在360和chrome就不行,查找资料解决办法如下:   1.找到下面的代码所在处:   K(doc.body).bind('paste', function(e)    2.在下面的代码块内插入代码 if (_IE) { // 此处是kindeditor代码,不动 } else { // ***** 在此处插入要插入的代码 **** // 此处是kindeditor代码,不动 }    3.在步骤2指示的地方插入如下代码   var isChrome = wi ...
在网上下载Synaptics触摸板驱动并安装→重启。   在“运行”中输入“regedit”按回车,进入注册表→依次展开HKEY_CURRENT_USER/Software/Synaptics/SynTPEnh。    右键→新建DWORD(32位-值) disableintpdfeature 修改值为 3 右键→新建DWORD(32位-值) showdisableicon 修改值为 1。
直入主题: 1.大致思路如下:   var win_object = window.open(); // 如果有ajax则如下 $.ajax({ ..... success: function(){ // 成功后则打开新页面 win_object.location = '新页面的URL'; }, error: function() { // 失败关闭窗口 win_object.close(); } ..... });    
Controller中进行权限校验的方式: 第一种: 通过can函数来判断是否有某个权限的执行权限,如果没有则抛出未授权的异常,通常在Controller的Action开头使用,如下 /** * 发布商品 */ public function actionAdd () { if(! can('shop-goods-add')) { throw new \common\base\UnauthorizedException(); } ......... }  第二种:重写Controller的auths函数,返回访问权限配置:   /** * ...
window.onbeforeunload = function() { var scrollPos; if (typeof window.pageYOffset != 'undefined') { scrollPos = window.pageYOffset; } else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') { scrollPos = ...
购物车接口   一、引入JS 1.{script src='@web/js/jquery.fly.min.js,@static/js/szy.cart.js'}   二、使用   1.加入购物车   // 添加购物车 // @param sku_id 商品SKU编号 // @param number 数量 // @param options 其他参数 {is_sku-是否为SKU, image_url-图片路径, event-点击事件, // callback-回调函数} $.cart.add(id, number, options);  2.从购物车中移除 ...

YII2 AJAX唯一性校验

    博客分类:
  • YII
if(empty($this->role_id)) { $rules[] = Model::addRule('role_name', 'unique'); } else { $rules[] = Model::addRule('role_name', 'unique', [ 'params' => 'role_id', 'filter' => [ '!=', 'role_id', $this->role_id ] ]); }  

上传图片

    博客分类:
  • YII
// site/upload-image 上传图片至非图片空间的上传路径 // site/upload-goods-image 上传商品图片 // site/upload-goods-desc-image 上传商品详情图片 // site/upload-ad-image 上传广告图片 $("body").on("change", "#file_goods_image", function() { var file_id = $(this).attr("id"); var value = ...
有时候有一些表单元素没有对应的Model,这个时候如果要对这类的元素进行表单验证,可以选择如下几种方式: 1.利用jquery.validate.js的验证规则,在表单元素上绑定data-rule-<验证规则>的方式进行验证   2.利用php函数clientRule($rule, $options = []) 动态创建验证规则,下面以手机号码为例   1.页面中插入验证规则 <!-- 手机号码验证规则 --> <script id="mobile_rules" type="text"> [{clien ...
在系统中如果需要使用在线文本编辑器参考下面代码: 1.在页面中加入文本域,一定要有一个指定的Id: {input type='textarea' id='content' model=$model field='content'}  2.在页面底部引入js <!-- 在线文本编辑器 --> {script src='@static/js/editor/kindeditor-all-min.js,@static/js/editor/lang/zh_CN.js'} <!-- 创建KindEditor的脚本 必须设置editor_id属性,editor_id为文本域 ...
在开发中一般遇到的路由都是三级的,基本都是如下格式: /module/controller/action  但是在一些功能方面需要给用户显示两级的路由会更好,比如注册、购物车、等等,更希望的如下的路由: /cart/add /register/mobile /register/email /user/address  在YII中可以如下实现:   1.在main-local.php中加入如下配置: $config['controllerMap']['register'] = 'app\modules\register\controllers\RegisterC ...
系统中的地区列表功能重新做了,并定制了许多地方都需要使用的地区列表的多级联动的组件,使用方法如下: 1.在页面中定义一个容纳组件的容器,例如:div、span等等。 2.在页面中引入: {script src='@static/js/jquery.region.js'}  3.在页面加载完成后初始化组件: $("#region_container").regionselector({ // 组件初始化时,如果value属性传入地区代码,则组件自动加载对应的地区,为空或者null均不加载 value: '37,14,22', // 根据 ...

YII 对话框

    博客分类:
  • YII
感觉后台的弹出窗口一直是系统功能实现的弱项,由于系统大部分采用了layer,但是layer实现ajax加载网页内容的显示效果与系统兼容性不是很好,导致每个升级到弹出窗口的展现都需要前端人员参与设计,十分耗时,所以对前端 ...
系统中可能很多地方都需要选择商品,例如模板机制、活动等地方。 系统中可参考商品赠品的功能实现。 使用方法如下: 1.引入js: {script src='@static/js/jquery.widget.js'}  2.在页面中指定组件的容器,所谓组件就是指ajax加载的一个已经实现了大部分功能的页面,为了方便管理,需要为此加载的页面指定一块区域来容纳它,一般容器可以选择DIV,方便前端进行修改样式,例如在页面中第一如下代码(此处加了class属性,方便绑定事件,同时也可以方便处理页面中多个商品选择容器): <!-- 商品选择器 --> <div class=& ...

Filter缓存依赖

    博客分类:
  • YII
在分页查询的时候可以指定是否从缓存中获取数据,框架中开始设定的是ajax不走缓存,而非ajax才走缓存,这样做在后期做复杂业务的时候会有一定的局限性,所以编写了过滤器缓存依赖,用来指定根据提交的数据而进行自动判断是否从缓存中后期query数据。 <?php namespace common\caching; use yii\caching\Dependency; use common\base\Filter; /** * Filter缓存依赖,根据指定的“get”、“post”、“request”的值,到提交的数据中进行查询返回对应的值,如果请求的数据发生变化则缓 ...
Global site tag (gtag.js) - Google Analytics