ecmall 学习记录2
1.ecmall 自带的写入日志方法:do_log4php("函数名","类名",$param); $param是参数
在类里调用写入之日的方法 需要先加载函数工具库 import('functions.lib');
生成的日志存在于 temp/logs。
配置路径就在 log4php.properties文件中,这个文件就在项目根目录下,找不到的话可以用everything找一下。
2.ecmall 引入微信jsssdk类库 import('文件名'); ecmall 引入微信类库;ecmall生成微信签名
判断是否为微信端:
function isWeixin()
{
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
return true;
}
return false;
}
获取微信签名:
/*start@author:hans@date:20160718*/
//引入微信授权
if( isWeixin() ){
import('weixinsdk');
import('functions.lib');
$weixin_config = require_once('data/weixin_config.php');
$jssdk = new JSSDK($weixin_config['appId'], $weixin_config['appSecret']);
$signPackage = $jssdk->GetSignPackage();
//do_log4php("display","FrontendApp",$signPackage);
$this->assign('wxsignPackage',$signPackage);
}
/*end@author:hans@date:20160718*/
3.后台一级菜单设置有个开启伪静态,开了和不开的区别很大,测试系统上没有开,线上开了,所以店铺分享可以正常用。
4.关于JS-SSDK中获得微信签名方法的修改
//地址没有入口文件 2017615 xiaolu
if (empty($request_uri)){ //没有入口文件的时候request_uri是为空的 打印一下$_SERVER 就知道该用什么啦 $request_uri=$_SERVER['REQUEST_URI'];
}
if (strpos($_SERVER['REQUEST_URI'],"from=")){ //如果是从分享的地址进来的,会有from $request_uri=$_SERVER['REQUEST_URI'];
}
//end
$url = "$protocol$_SERVER[HTTP_HOST]$request_uri"; $timestamp = time();
$nonceStr = $this->createNonceStr();
这个是针对功能需求进行的修改。
5. 个人中心:member.app.php index() $this->_curitem('overview'); //这个方法调用了_get_member_menu() 菜单数据就是从这里拿到的
个人中心的菜单在 frontend.base.php里的 _get_member_menu()方法中以数组的形式定义的
6.$user = $this->visitor->get();获取用户信息
$this->visitor->调用的方法 在ecapp.base.php里 访问者基础类 class BaseVisitor extends Object 中,访问者基础类,集合了当前访问用户的操作。
ecmall 学习记录2的更多相关文章
- ecmall 学习记录3
1.在ecmall.php 中 336行有一个函数 function lang_file($file) { return ROOT_PATH . '/languages/' . LANG . '/' ...
- ecmall 学习记录
1. /* 载入配置项 */ $setting =& af(MODULE); Conf::load($setting->getAll()); af方法定义如下: /** * 获取数组文件 ...
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
- Apache Shiro 学习记录4
今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...
- UWP学习记录12-应用到应用的通信
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...
- UWP学习记录11-设计和UI
UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...
- UWP学习记录10-设计和UI之控件和模式7
UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...
- UWP学习记录9-设计和UI之控件和模式6
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...
随机推荐
- autotools源文件相同/不同目录下
关于Autotools 我们前面的章节中已经讲到了Makefile的使用(点击进入查看文章).我们知道在Linux下面如果编译一个比较大型的项目,我们可以通过Makefile的方式来完成. 但是,我们 ...
- Android组件系列----Intent详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- BZOJ4779: [Usaco2017 Open]Bovine Genomics
题目描述 Farmer John owns Ncows with spots and N cows without spots. Having just completed a course in b ...
- Docker常用命令详解
docker ps 查看当前正在运行的容器 docker ps -a 查看所有容器的状态 docker start/stop id/name 启动/停止某个容器 docker attach id 进入 ...
- CSS布局学习(三) - Normal Flow 正常布局流(官网直译)
默认情况下,元素是如何布局? 首先,取得元素的内容,加上内边距(padding),边框(border),外边距(margin)放在一个盒子中 - 这就是我们之前看到的盒子模型 默认情况下,块级元素的内 ...
- gitlab备份还原
断电后gitlab报500错误 查看日志 tail -f /var/log/gitlab/gitlab-rails/production.log ActionView::Template::Error ...
- 微信小程序,加载更多
html <!-- 头部 --> <view class='tab'> <view class="tab-new {{selected_new?'active' ...
- Linux(CentOS 7)命令行模式安装VMware Tools 详解
本篇文章主要介绍了如何在Linux(CentOS 7)命令行模式安装VMware Tools,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 本例中为在Linux(以CentOS 7为例)安装VM ...
- spring El
package com.wisely.heighlight_spring4.ch2.el; import java.io.IOException; import org.apache.commons. ...
- 『TensorFlow』数据读取类_data.Dataset
一.资料 参考原文: TensorFlow全新的数据读取方式:Dataset API入门教程 API接口简介: TensorFlow的数据集 二.背景 注意,在TensorFlow 1.3中,Data ...