Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
yii2_fecshop
提交
d472d7eb
Y
yii2_fecshop
项目概览
OpenDocCN
/
yii2_fecshop
通知
17
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
yii2_fecshop
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d472d7eb
编写于
7月 11, 2017
作者:
T
Terry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Session Services
上级
e97045c0
变更
51
隐藏空白更改
内联
并排
Showing
51 changed file
with
392 addition
and
102 deletion
+392
-102
app/appfront/config/appfront.php
app/appfront/config/appfront.php
+24
-9
app/appfront/config/modules/Catalog.php
app/appfront/config/modules/Catalog.php
+4
-0
app/appfront/config/modules/Catalogsearch.php
app/appfront/config/modules/Catalogsearch.php
+7
-0
app/appfront/config/modules/Checkout.php
app/appfront/config/modules/Checkout.php
+7
-0
app/appfront/config/modules/Cms.php
app/appfront/config/modules/Cms.php
+7
-0
app/appfront/config/modules/Customer.php
app/appfront/config/modules/Customer.php
+7
-0
app/appfront/config/modules/Payment.php
app/appfront/config/modules/Payment.php
+8
-1
app/appfront/config/modules/Site.php
app/appfront/config/modules/Site.php
+10
-1
app/appfront/config/params.php
app/appfront/config/params.php
+17
-2
app/appfront/helper/Country.php
app/appfront/helper/Country.php
+6
-2
app/appfront/helper/Format.php
app/appfront/helper/Format.php
+6
-0
app/appfront/helper/Shipping.php
app/appfront/helper/Shipping.php
+1
-1
app/appfront/modules/AppfrontController.php
app/appfront/modules/AppfrontController.php
+19
-1
app/appfront/modules/AppfrontModule.php
app/appfront/modules/AppfrontModule.php
+1
-0
app/appfront/modules/Catalog/Module.php
app/appfront/modules/Catalog/Module.php
+5
-3
app/appfront/modules/Catalogsearch/Module.php
app/appfront/modules/Catalogsearch/Module.php
+5
-1
app/appfront/modules/Checkout/Module.php
app/appfront/modules/Checkout/Module.php
+5
-1
app/appfront/modules/Cms/Module.php
app/appfront/modules/Cms/Module.php
+20
-7
app/appfront/modules/Customer/Module.php
app/appfront/modules/Customer/Module.php
+5
-3
app/appfront/modules/Customer/controllers/FacebookController.php
...front/modules/Customer/controllers/FacebookController.php
+1
-1
app/appfront/modules/Customer/controllers/GoogleController.php
...ppfront/modules/Customer/controllers/GoogleController.php
+1
-1
app/appfront/modules/Payment/Module.php
app/appfront/modules/Payment/Module.php
+5
-3
app/appfront/modules/Site/Module.php
app/appfront/modules/Site/Module.php
+20
-7
app/apphtml5/config/apphtml5.php
app/apphtml5/config/apphtml5.php
+22
-7
app/apphtml5/config/modules/Catalog.php
app/apphtml5/config/modules/Catalog.php
+10
-1
app/apphtml5/config/modules/Catalogsearch.php
app/apphtml5/config/modules/Catalogsearch.php
+7
-0
app/apphtml5/config/modules/Checkout.php
app/apphtml5/config/modules/Checkout.php
+7
-0
app/apphtml5/config/modules/Cms.php
app/apphtml5/config/modules/Cms.php
+7
-0
app/apphtml5/config/modules/Customer.php
app/apphtml5/config/modules/Customer.php
+7
-0
app/apphtml5/config/modules/Payment.php
app/apphtml5/config/modules/Payment.php
+8
-1
app/apphtml5/config/modules/Site.php
app/apphtml5/config/modules/Site.php
+10
-1
app/apphtml5/helper/Country.php
app/apphtml5/helper/Country.php
+6
-2
app/apphtml5/helper/Format.php
app/apphtml5/helper/Format.php
+6
-0
app/apphtml5/helper/Shipping.php
app/apphtml5/helper/Shipping.php
+1
-1
app/apphtml5/modules/AppfrontController.php
app/apphtml5/modules/AppfrontController.php
+19
-2
app/apphtml5/modules/AppfrontModule.php
app/apphtml5/modules/AppfrontModule.php
+1
-0
app/apphtml5/modules/Catalog/Module.php
app/apphtml5/modules/Catalog/Module.php
+5
-3
app/apphtml5/modules/Catalogsearch/Module.php
app/apphtml5/modules/Catalogsearch/Module.php
+5
-3
app/apphtml5/modules/Checkout/Module.php
app/apphtml5/modules/Checkout/Module.php
+5
-3
app/apphtml5/modules/Cms/Module.php
app/apphtml5/modules/Cms/Module.php
+19
-7
app/apphtml5/modules/Customer/Module.php
app/apphtml5/modules/Customer/Module.php
+5
-3
app/apphtml5/modules/Customer/controllers/FacebookController.php
...html5/modules/Customer/controllers/FacebookController.php
+1
-1
app/apphtml5/modules/Customer/controllers/GoogleController.php
...pphtml5/modules/Customer/controllers/GoogleController.php
+1
-1
app/apphtml5/modules/Payment/Module.php
app/apphtml5/modules/Payment/Module.php
+5
-3
app/apphtml5/modules/Site/Module.php
app/apphtml5/modules/Site/Module.php
+19
-7
app/appserver/config/appserver.php
app/appserver/config/appserver.php
+4
-1
app/appserver/modules/AppserverTokenController.php
app/appserver/modules/AppserverTokenController.php
+7
-4
models/mysqldb/customer/CustomerAccessToken.php
models/mysqldb/customer/CustomerAccessToken.php
+2
-2
models/mysqldb/customer/CustomerLogin.php
models/mysqldb/customer/CustomerLogin.php
+3
-3
services/page/Currency.php
services/page/Currency.php
+2
-2
services/session/PhpSession.php
services/session/PhpSession.php
+7
-0
未找到文件。
app/appfront/config/appfront.php
浏览文件 @
d472d7eb
...
...
@@ -6,8 +6,10 @@
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
// 本文件在app/web/index.php 处引入。
// fecshop - appfront 的核心模块
/**
* 本文件在@appfront/web/index.php 处,会被引入。
* 该配置文件会加载./modules/*.php,并合并成一个数组,返回。
*/
$modules
=
[];
foreach
(
glob
(
__DIR__
.
'/modules/*.php'
)
as
$filename
)
{
$modules
=
array_merge
(
$modules
,
require
(
$filename
));
...
...
@@ -16,13 +18,22 @@ $params = require __DIR__ .'/params.php';
// 此处也可以重写fecshop的组件。供调用。
return
[
'modules'
=>
$modules
,
/* only config in front web */
/**
* bootstrap指的是yii2中的初始化(注意,这个bootstrap不是css那个bootstrap),关于Yii2 bootstrap的功能描述可以
* 参看地址:http://www.yiichina.com/doc/guide/2.0/runtime-bootstrapping
*
* 下面的配置的作用为:在fecshop初始化的时候,执行store component的bootstrap方法。
* 也就是 @fecshop/components/Store.php的bootstrap($app)函数。
* 最终是Yii::$service->store->bootstrap($app); 这样,无论执行任何controller,都会执行该函数
* 这也就是bootstap的作用,在Yii2初始化的时候执行的部分代码。
*/
'bootstrap'
=>
[
'store'
],
// 参数配置部分
'params'
=>
$params
,
// Yii组件配置
// Yii组件配置
,关于yii2组件,可以参看:http://www.yiichina.com/doc/guide/2.0/structure-application-components
'components'
=>
[
//
language config.
//
yii2 语言组件配置,关于Yii2国际化,可以参看:http://www.yiichina.com/doc/guide/2.0/tutorial-i18n
'i18n'
=>
[
'translations'
=>
[
'appfront'
=>
[
...
...
@@ -34,7 +45,7 @@ return [
],
],
],
// Yii2 user组件配置,可以参看:http://www.yiichina.com/doc/guide/2.0/input-validation#client-side-validation
'user'
=>
[
'class'
=>
'fecshop\yii\web\User'
,
'identityClass'
=>
'fecshop\models\mysqldb\Customer'
,
...
...
@@ -54,17 +65,21 @@ return [
*/
//'authTimeout' => 56666,
],
// 404页面对应的
链接。
// 404页面对应的
url key
'errorHandler'
=>
[
'errorAction'
=>
'site/helper/error'
,
],
// 首页对应的url
// 首页对应的url
key
'urlManager'
=>
[
'rules'
=>
[
''
=>
'cms/home/index'
,
],
],
/**
* Yii2 Request组件,这里进行了重写,目的是为了实现URL自定义伪静态功能。
* 关于fecshop的url伪静态部分,可以参看:http://www.fancyecommerce.com/2016/05/18/yii2-url-%E8%87%AA%E5%AE%9A%E4%B9%89-%E4%BC%AA%E9%9D%99%E6%80%81url/
* 关于Yii2 request的一些知识,可以参看:http://www.yiichina.com/doc/guide/2.0/runtime-requests
*/
'request'
=>
[
'class'
=>
'fecshop\yii\web\Request'
,
/*
...
...
app/appfront/config/modules/Catalog.php
浏览文件 @
d472d7eb
...
...
@@ -7,6 +7,10 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Catalog 模块的配置,您可以在@appfront/config/fecshop_local_modules/Catalog.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'catalog'
=>
[
'class'
=>
'\fecshop\app\appfront\modules\Catalog\Module'
,
...
...
app/appfront/config/modules/Catalogsearch.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,15 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Catalogsearch 模块的配置,您可以在@appfront/config/fecshop_local_modules/Catalogsearch.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'catalogsearch'
=>
[
'class'
=>
'\fecshop\app\appfront\modules\Catalogsearch\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
//'categorysearch_filter_attr' =>[
// 'color','size',
...
...
app/appfront/config/modules/Checkout.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,15 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* checkout 模块的配置,您可以在@appfront/config/fecshop_local_modules/Checkout.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'checkout'
=>
[
'class'
=>
'\fecshop\app\appfront\modules\Checkout\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
],
...
...
app/appfront/config/modules/Cms.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,15 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* cms 模块的配置,您可以在@appfront/config/fecshop_local_modules/Cms.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'cms'
=>
[
'class'
=>
'\fecshop\app\appfront\modules\Cms\Module'
,
/**
* 模块内部的params配置。
*/
/*
'params'=> [
'home_title' => [
...
...
app/appfront/config/modules/Customer.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,15 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Customer 模块的配置,您可以在@appfront/config/fecshop_local_modules/Customer.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'customer'
=>
[
'class'
=>
'\fecshop\app\appfront\modules\Customer\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
'register'
=>
[
// 账号注册成功后,是否自动登录
...
...
app/appfront/config/modules/Payment.php
浏览文件 @
d472d7eb
...
...
@@ -7,10 +7,17 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Payment 模块的配置,您可以在@appfront/config/fecshop_local_modules/Payment.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'payment'
=>
[
'class'
=>
'\fecshop\app\appfront\modules\Payment\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
],
],
];
app/appfront/config/modules/Site.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,17 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Site 模块的配置,您可以在@appfront/config/fecshop_local_modules/Site.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'site'
=>
[
'class'
=>
'\fecshop\app\appfront\modules\Site\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
],
],
];
app/appfront/config/params.php
浏览文件 @
d472d7eb
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
return
[
/* appfront base theme dir */
/**
* 模板路径配置部分
*/
'appfrontBaseTheme'
=>
'@fecshop/app/appfront/theme/base/front'
,
/**
* 模板默认的layout文件,也就是模板路径下面的layout文件夹下的文件,
* 对于上面的模板路径的配置,也就是文件:@fecshop/app/appfront/theme/base/front/layouts/main.php
*/
'appfrontBaseLayoutName'
=>
'main.php'
,
/**
* 入口的名字,这个对应入口的文件夹命名。
*/
'appName'
=>
'appfront'
,
];
app/appfront/helper/Country.php
浏览文件 @
d472d7eb
...
...
@@ -17,7 +17,9 @@ use Yii;
*/
class
Country
{
// 快捷支付,得到省的html
/**废弃
* 快捷支付,得到省的html
*/
public
static
function
getExpressPaymentStateHtml
(
$countryCode
,
$stateCode
=
''
,
$ischangestate
=
''
)
{
$state
=
Yii
::
$service
->
helper
->
country
->
getStateOptionsByContryCode
(
$countryCode
,
$stateCode
);
...
...
@@ -47,7 +49,9 @@ class Country
return
$stateHtml
;
}
// 标准支付,得到省的html
/**废弃
* 标准支付,得到省的html
*/
public
static
function
getStandPaymentStateHtml
(
$countryCode
,
$stateCode
=
''
,
$isajaxchange
=
''
)
{
$state
=
Yii
::
$service
->
helper
->
country
->
getStateOptionsByContryCode
(
$countryCode
,
$stateCode
);
...
...
app/appfront/helper/Format.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,12 @@ namespace fecshop\app\appfront\helper;
*/
class
Format
{
/**
* @property $price | Float ,价格
* @property $bits | Int , 小数点后几位的格式,譬如4.00
* @return float, 返回格式化后的数据
* 一般用于模板中,按照显示格式显示产品数据。
*/
public
static
function
price
(
$price
,
$bits
=
2
)
{
return
number_format
(
$price
,
$bits
);
...
...
app/appfront/helper/Shipping.php
浏览文件 @
d472d7eb
...
...
@@ -9,7 +9,7 @@
namespace
fecshop\app\appfront\helper
;
/**
/**
废弃
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
*/
...
...
app/appfront/modules/AppfrontController.php
浏览文件 @
d472d7eb
...
...
@@ -17,6 +17,7 @@ use yii\base\InvalidValueException;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Appfront 入口的controller的基类
*/
class
AppfrontController
extends
FecController
{
...
...
@@ -29,9 +30,15 @@ class AppfrontController extends FecController
*/
public
function
init
()
{
/**
* 如果模板路径没有配置,则配置模板路径
*/
if
(
!
Yii
::
$service
->
page
->
theme
->
fecshopThemeDir
)
{
Yii
::
$service
->
page
->
theme
->
fecshopThemeDir
=
Yii
::
getAlias
(
CConfig
::
param
(
'appfrontBaseTheme'
));
}
/**
* 如果layout文件没有配置,则配置layout文件
*/
if
(
!
Yii
::
$service
->
page
->
theme
->
layoutFile
)
{
Yii
::
$service
->
page
->
theme
->
layoutFile
=
CConfig
::
param
(
'appfrontBaseLayoutName'
);
}
...
...
@@ -45,8 +52,13 @@ class AppfrontController extends FecController
}
/**
* @property $blockName | String
* get current block
* you can change $this->blockNamespace.
* 这个函数的controller中得到block文件,譬如:
* cms模块的ArticleController的actinIndex()方法中使用$this->getBlock()->getLastData()方法,
* 对应的是cms/block/article/Index.php里面的getLastData(),
* 也就是说,这个block文件路径和controller的路径有一定的对应关系
* 这个思想来自于magento的block。
*/
public
function
getBlock
(
$blockName
=
''
)
{
...
...
@@ -70,6 +82,9 @@ class AppfrontController extends FecController
/**
* @property $view|string , (only) view file name ,by this module id, this controller id , generate view relative path.
* @property $params|Array,
* 这个是fecshop重写的render函数,根据fecshop的多模板机制
* 首先在高级别的模板中找view文件,如果找不到,按照模板路径优先级依次查找
* 直到找到view'文件。
* 1.get exist view file from mutil theme by theme protity.
* 2.get content by yii view compontent function renderFile() ,
*/
...
...
@@ -82,7 +97,10 @@ class AppfrontController extends FecController
}
/**
* @property $view|string
* Get current layoutFile absolute path from mutil theme dir by protity.
* 首先在高级别的模板中找view文件,如果找不到,按照模板路径优先级依次查找
* 直到找到view'文件。
*/
public
function
findLayoutFile
(
$view
)
{
...
...
app/appfront/modules/AppfrontModule.php
浏览文件 @
d472d7eb
...
...
@@ -12,6 +12,7 @@ namespace fecshop\app\appfront\modules;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Appfront 入口的Module的基类
*/
class
AppfrontModule
extends
\
yii\base\Module
{
...
...
app/appfront/modules/Catalog/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Catalog Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -36,8 +39,7 @@ class Module extends AppfrontModule
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'main.php'
;
parent
::
init
();
}
...
...
app/appfront/modules/Catalogsearch/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Catalogsearch Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -38,6 +41,7 @@ class Module extends AppfrontModule
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'main.php'
;
parent
::
init
();
}
...
...
app/appfront/modules/Checkout/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Checkout Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -38,6 +41,7 @@ class Module extends AppfrontModule
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'one_step_checkout.php'
;
parent
::
init
();
}
...
...
app/appfront/modules/Cms/Module.php
浏览文件 @
d472d7eb
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
namespace
fecshop\app\appfront\modules\Cms
;
use
fecshop\app\appfront\modules\AppfrontModule
;
use
Yii
;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Cms Module 模块
*/
class
Module
extends
AppfrontModule
{
public
$blockNamespace
;
...
...
@@ -13,20 +25,21 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
}
elseif
(
Yii
::
$app
instanceof
\
yii\console\Application
)
{
$this
->
controllerNamespace
=
$nameSpace
.
'\\console\\controllers'
;
$this
->
blockNamespace
=
$nameSpace
.
'\\console\\block'
;
//
} elseif (Yii::$app instanceof \yii\console\Application) {
//
$this->controllerNamespace = $nameSpace . '\\console\\controllers';
//
$this->blockNamespace = $nameSpace . '\\console\\block';
}
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'home.php'
;
parent
::
init
();
}
...
...
app/appfront/modules/Customer/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Customer Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -36,8 +39,7 @@ class Module extends AppfrontModule
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'main.php'
;
parent
::
init
();
}
...
...
app/appfront/modules/Customer/controllers/FacebookController.php
浏览文件 @
d472d7eb
...
...
@@ -29,7 +29,7 @@ class FacebookController extends AppfrontController
*/
public
function
actionLoginv
()
{
Yii
::
$
app
->
session
->
set
(
'fbs'
,
1
);
Yii
::
$
service
->
session
->
set
(
'fbs'
,
1
);
$thirdLogin
=
Yii
::
$service
->
store
->
thirdLogin
;
$facebook_app_id
=
isset
(
$thirdLogin
[
'facebook'
][
'facebook_app_id'
])
?
$thirdLogin
[
'facebook'
][
'facebook_app_id'
]
:
''
;
$facebook_app_secret
=
isset
(
$thirdLogin
[
'facebook'
][
'facebook_app_secret'
])
?
$thirdLogin
[
'facebook'
][
'facebook_app_secret'
]
:
''
;
...
...
app/appfront/modules/Customer/controllers/GoogleController.php
浏览文件 @
d472d7eb
...
...
@@ -29,7 +29,7 @@ class GoogleController extends AppfrontController
*/
public
function
actionLoginv
()
{
Yii
::
$
app
->
session
->
set
(
'logintype'
,
'google'
);
Yii
::
$
service
->
session
->
set
(
'logintype'
,
'google'
);
$thirdLogin
=
Yii
::
$service
->
store
->
thirdLogin
;
$googleapiinfo
[
'GOOGLE_CLIENT_ID'
]
=
isset
(
$thirdLogin
[
'google'
][
'CLIENT_ID'
])
?
$thirdLogin
[
'google'
][
'CLIENT_ID'
]
:
''
;
$googleapiinfo
[
'GOOGLE_CLIENT_SECRET'
]
=
isset
(
$thirdLogin
[
'google'
][
'CLIENT_SECRET'
])
?
$thirdLogin
[
'google'
][
'CLIENT_SECRET'
]
:
''
;
...
...
app/appfront/modules/Payment/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Payment Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -36,8 +39,7 @@ class Module extends AppfrontModule
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'one_step_checkout.php'
;
parent
::
init
();
}
...
...
app/appfront/modules/Site/Module.php
浏览文件 @
d472d7eb
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
namespace
fecshop\app\appfront\modules\Site
;
use
fecshop\app\appfront\modules\AppfrontModule
;
use
Yii
;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Site Module 模块
*/
class
Module
extends
AppfrontModule
{
public
$blockNamespace
;
...
...
@@ -13,20 +25,21 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
}
elseif
(
Yii
::
$app
instanceof
\
yii\console\Application
)
{
$this
->
controllerNamespace
=
$nameSpace
.
'\\console\\controllers'
;
$this
->
blockNamespace
=
$nameSpace
.
'\\console\\block'
;
//
} elseif (Yii::$app instanceof \yii\console\Application) {
//
$this->controllerNamespace = $nameSpace . '\\console\\controllers';
//
$this->blockNamespace = $nameSpace . '\\console\\block';
}
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'home.php'
;
parent
::
init
();
}
...
...
app/apphtml5/config/apphtml5.php
浏览文件 @
d472d7eb
...
...
@@ -6,8 +6,10 @@
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
// 本文件在app/web/index.php 处引入。
// fecshop - apphtml5 的核心模块
/**
* 本文件在@apphtml5/web/index.php 处,会被引入。
* 该配置文件会加载./modules/*.php,并合并成一个数组,返回。
*/
$modules
=
[];
foreach
(
glob
(
__DIR__
.
'/modules/*.php'
)
as
$filename
)
{
$modules
=
array_merge
(
$modules
,
require
(
$filename
));
...
...
@@ -16,13 +18,22 @@ $params = require __DIR__ .'/params.php';
// 此处也可以重写fecshop的组件。供调用。
return
[
'modules'
=>
$modules
,
/* only config in front web */
/**
* bootstrap指的是yii2中的初始化(注意,这个bootstrap不是css那个bootstrap),关于Yii2 bootstrap的功能描述可以
* 参看地址:http://www.yiichina.com/doc/guide/2.0/runtime-bootstrapping
*
* 下面的配置的作用为:在fecshop初始化的时候,执行store component的bootstrap方法。
* 也就是 @fecshop/components/Store.php的bootstrap($app)函数。
* 最终是Yii::$service->store->bootstrap($app); 这样,无论执行任何controller,都会执行该函数
* 这也就是bootstap的作用,在Yii2初始化的时候执行的部分代码。
*/
'bootstrap'
=>
[
'store'
],
// 参数配置部分
'params'
=>
$params
,
// Yii组件配置
// Yii组件配置
,关于yii2组件,可以参看:http://www.yiichina.com/doc/guide/2.0/structure-application-components
'components'
=>
[
//
language config.
//
yii2 语言组件配置,关于Yii2国际化,可以参看:http://www.yiichina.com/doc/guide/2.0/tutorial-i18n
'i18n'
=>
[
'translations'
=>
[
'apphtml5'
=>
[
...
...
@@ -34,7 +45,7 @@ return [
],
],
],
// Yii2 user组件配置,可以参看:http://www.yiichina.com/doc/guide/2.0/input-validation#client-side-validation
'user'
=>
[
'class'
=>
'fecshop\yii\web\User'
,
'identityClass'
=>
'fecshop\models\mysqldb\Customer'
,
...
...
@@ -64,7 +75,11 @@ return [
''
=>
'cms/home/index'
,
],
],
/**
* Yii2 Request组件,这里进行了重写,目的是为了实现URL自定义伪静态功能。
* 关于fecshop的url伪静态部分,可以参看:http://www.fancyecommerce.com/2016/05/18/yii2-url-%E8%87%AA%E5%AE%9A%E4%B9%89-%E4%BC%AA%E9%9D%99%E6%80%81url/
* 关于Yii2 request的一些知识,可以参看:http://www.yiichina.com/doc/guide/2.0/runtime-requests
*/
'request'
=>
[
'class'
=>
'fecshop\yii\web\Request'
,
/*
...
...
app/apphtml5/config/modules/Catalog.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,17 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Catalog 模块的配置,您可以在@apphtml5/config/fecshop_local_modules/Catalog.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'catalog'
=>
[
'class'
=>
'\fecshop\app\apphtml5\modules\Catalog\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
],
],
];
app/apphtml5/config/modules/Catalogsearch.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,15 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Catalogsearch 模块的配置,您可以在@apphtml5/config/fecshop_local_modules/Catalogsearch.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'catalogsearch'
=>
[
'class'
=>
'\fecshop\app\apphtml5\modules\Catalogsearch\Module'
,
/**
* 模块内部的params配置。
*/
/*
'params'=> [
//'categorysearch_filter_attr' =>[
...
...
app/apphtml5/config/modules/Checkout.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,15 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* checkout 模块的配置,您可以在@apphtml5/config/fecshop_local_modules/Checkout.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'checkout'
=>
[
'class'
=>
'\fecshop\app\apphtml5\modules\Checkout\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
],
...
...
app/apphtml5/config/modules/Cms.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,15 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* cms 模块的配置,您可以在@apphtml5/config/fecshop_local_modules/Cms.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'cms'
=>
[
'class'
=>
'\fecshop\app\apphtml5\modules\Cms\Module'
,
/**
* 模块内部的params配置。
*/
/*
'params'=> [
'home_title' => [
...
...
app/apphtml5/config/modules/Customer.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,15 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Customer 模块的配置,您可以在@apphtml5/config/fecshop_local_modules/Customer.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'customer'
=>
[
'class'
=>
'\fecshop\app\apphtml5\modules\Customer\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
'register'
=>
[
// 账号注册成功后,是否自动登录
...
...
app/apphtml5/config/modules/Payment.php
浏览文件 @
d472d7eb
...
...
@@ -7,10 +7,17 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Payment 模块的配置,您可以在@apphtml5/config/fecshop_local_modules/Payment.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'payment'
=>
[
'class'
=>
'\fecshop\app\apphtml5\modules\Payment\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
],
],
];
app/apphtml5/config/modules/Site.php
浏览文件 @
d472d7eb
...
...
@@ -7,8 +7,17 @@
* @license http://www.fecshop.com/license/
*/
return
[
/**
* Site 模块的配置,您可以在@apphtml5/config/fecshop_local_modules/Site.php
* 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
*/
'site'
=>
[
'class'
=>
'\fecshop\app\apphtml5\modules\Site\Module'
,
/**
* 模块内部的params配置。
*/
'params'
=>
[
],
],
];
app/apphtml5/helper/Country.php
浏览文件 @
d472d7eb
...
...
@@ -17,7 +17,9 @@ use Yii;
*/
class
Country
{
// 快捷支付,得到省的html
/**废弃
* 快捷支付,得到省的html
*/
public
static
function
getExpressPaymentStateHtml
(
$countryCode
,
$stateCode
=
''
,
$ischangestate
=
''
)
{
$state
=
Yii
::
$service
->
helper
->
country
->
getStateOptionsByContryCode
(
$countryCode
,
$stateCode
);
...
...
@@ -47,7 +49,9 @@ class Country
return
$stateHtml
;
}
// 标准支付,得到省的html
/**废弃
* 快捷支付,得到省的html
*/
public
static
function
getStandPaymentStateHtml
(
$countryCode
,
$stateCode
=
''
,
$isajaxchange
=
''
)
{
$state
=
Yii
::
$service
->
helper
->
country
->
getStateOptionsByContryCode
(
$countryCode
,
$stateCode
);
...
...
app/apphtml5/helper/Format.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,12 @@ namespace fecshop\app\apphtml5\helper;
*/
class
Format
{
/**
* @property $price | Float ,价格
* @property $bits | Int , 小数点后几位的格式,譬如4.00
* @return float, 返回格式化后的数据
* 一般用于模板中,按照显示格式显示产品数据。
*/
public
static
function
price
(
$price
,
$bits
=
2
)
{
return
number_format
(
$price
,
$bits
);
...
...
app/apphtml5/helper/Shipping.php
浏览文件 @
d472d7eb
...
...
@@ -9,7 +9,7 @@
namespace
fecshop\app\apphtml5\helper
;
/**
/**
废弃
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
*/
...
...
app/apphtml5/modules/AppfrontController.php
浏览文件 @
d472d7eb
...
...
@@ -17,6 +17,7 @@ use yii\base\InvalidValueException;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Apphtml5 入口的controller的基类
*/
class
AppfrontController
extends
FecController
{
...
...
@@ -29,9 +30,15 @@ class AppfrontController extends FecController
*/
public
function
init
()
{
/**
* 如果模板路径没有配置,则配置模板路径
*/
if
(
!
Yii
::
$service
->
page
->
theme
->
fecshopThemeDir
)
{
Yii
::
$service
->
page
->
theme
->
fecshopThemeDir
=
Yii
::
getAlias
(
CConfig
::
param
(
'apphtml5BaseTheme'
));
}
/**
* 如果layout文件没有配置,则配置layout文件
*/
if
(
!
Yii
::
$service
->
page
->
theme
->
layoutFile
)
{
Yii
::
$service
->
page
->
theme
->
layoutFile
=
CConfig
::
param
(
'apphtml5BaseLayoutName'
);
}
...
...
@@ -45,8 +52,13 @@ class AppfrontController extends FecController
}
/**
* @property $blockName | String
* get current block
* you can change $this->blockNamespace.
* 这个函数的controller中得到block文件,譬如:
* cms模块的ArticleController的actinIndex()方法中使用$this->getBlock()->getLastData()方法,
* 对应的是cms/block/article/Index.php里面的getLastData(),
* 也就是说,这个block文件路径和controller的路径有一定的对应关系
* 这个思想来自于magento的block。
*/
public
function
getBlock
(
$blockName
=
''
)
{
...
...
@@ -70,6 +82,9 @@ class AppfrontController extends FecController
/**
* @property $view|string , (only) view file name ,by this module id, this controller id , generate view relative path.
* @property $params|Array,
* 这个是fecshop重写的render函数,根据fecshop的多模板机制
* 首先在高级别的模板中找view文件,如果找不到,按照模板路径优先级依次查找
* 直到找到view'文件。
* 1.get exist view file from mutil theme by theme protity.
* 2.get content by yii view compontent function renderFile() ,
*/
...
...
@@ -80,9 +95,11 @@ class AppfrontController extends FecController
return
$this
->
renderContent
(
$content
);
}
/**
* @property $view|string
* Get current layoutFile absolute path from mutil theme dir by protity.
* 首先在高级别的模板中找view文件,如果找不到,按照模板路径优先级依次查找
* 直到找到view'文件。
*/
public
function
findLayoutFile
(
$view
)
{
...
...
app/apphtml5/modules/AppfrontModule.php
浏览文件 @
d472d7eb
...
...
@@ -12,6 +12,7 @@ namespace fecshop\app\apphtml5\modules;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Apphtml5 入口的Module的基类
*/
class
AppfrontModule
extends
\
yii\base\Module
{
...
...
app/apphtml5/modules/Catalog/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Catalog Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -36,8 +39,7 @@ class Module extends AppfrontModule
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
/// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'main.php'
;
parent
::
init
();
}
...
...
app/apphtml5/modules/Catalogsearch/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Catalogsearch Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -36,8 +39,7 @@ class Module extends AppfrontModule
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'main.php'
;
parent
::
init
();
}
...
...
app/apphtml5/modules/Checkout/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Checkout Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -36,8 +39,7 @@ class Module extends AppfrontModule
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'one_step_checkout.php'
;
parent
::
init
();
}
...
...
app/apphtml5/modules/Cms/Module.php
浏览文件 @
d472d7eb
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
namespace
fecshop\app\apphtml5\modules\Cms
;
use
fecshop\app\apphtml5\modules\AppfrontModule
;
use
Yii
;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Cms Module 模块
*/
class
Module
extends
AppfrontModule
{
public
$blockNamespace
;
...
...
@@ -13,20 +24,21 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
}
elseif
(
Yii
::
$app
instanceof
\
yii\console\Application
)
{
$this
->
controllerNamespace
=
$nameSpace
.
'\\console\\controllers'
;
$this
->
blockNamespace
=
$nameSpace
.
'\\console\\block'
;
//
} elseif (Yii::$app instanceof \yii\console\Application) {
//
$this->controllerNamespace = $nameSpace . '\\console\\controllers';
//
$this->blockNamespace = $nameSpace . '\\console\\block';
}
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'home.php'
;
parent
::
init
();
}
...
...
app/apphtml5/modules/Customer/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Customer Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -36,8 +39,7 @@ class Module extends AppfrontModule
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'main.php'
;
parent
::
init
();
}
...
...
app/apphtml5/modules/Customer/controllers/FacebookController.php
浏览文件 @
d472d7eb
...
...
@@ -29,7 +29,7 @@ class FacebookController extends AppfrontController
*/
public
function
actionLoginv
()
{
Yii
::
$
app
->
session
->
set
(
'fbs'
,
1
);
Yii
::
$
service
->
session
->
set
(
'fbs'
,
1
);
$thirdLogin
=
Yii
::
$service
->
store
->
thirdLogin
;
$facebook_app_id
=
isset
(
$thirdLogin
[
'facebook'
][
'facebook_app_id'
])
?
$thirdLogin
[
'facebook'
][
'facebook_app_id'
]
:
''
;
$facebook_app_secret
=
isset
(
$thirdLogin
[
'facebook'
][
'facebook_app_secret'
])
?
$thirdLogin
[
'facebook'
][
'facebook_app_secret'
]
:
''
;
...
...
app/apphtml5/modules/Customer/controllers/GoogleController.php
浏览文件 @
d472d7eb
...
...
@@ -29,7 +29,7 @@ class GoogleController extends AppfrontController
*/
public
function
actionLoginv
()
{
Yii
::
$
app
->
session
->
set
(
'logintype'
,
'google'
);
Yii
::
$
service
->
session
->
set
(
'logintype'
,
'google'
);
$thirdLogin
=
Yii
::
$service
->
store
->
thirdLogin
;
$googleapiinfo
[
'GOOGLE_CLIENT_ID'
]
=
isset
(
$thirdLogin
[
'google'
][
'CLIENT_ID'
])
?
$thirdLogin
[
'google'
][
'CLIENT_ID'
]
:
''
;
$googleapiinfo
[
'GOOGLE_CLIENT_SECRET'
]
=
isset
(
$thirdLogin
[
'google'
][
'CLIENT_SECRET'
])
?
$thirdLogin
[
'google'
][
'CLIENT_SECRET'
]
:
''
;
...
...
app/apphtml5/modules/Payment/Module.php
浏览文件 @
d472d7eb
...
...
@@ -15,6 +15,7 @@ use Yii;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Payment Module 模块
*/
class
Module
extends
AppfrontModule
{
...
...
@@ -24,9 +25,11 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
//} elseif (Yii::$app instanceof \yii\console\Application) {
...
...
@@ -36,8 +39,7 @@ class Module extends AppfrontModule
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'one_step_checkout.php'
;
parent
::
init
();
}
...
...
app/apphtml5/modules/Site/Module.php
浏览文件 @
d472d7eb
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
namespace
fecshop\app\apphtml5\modules\Site
;
use
fecshop\app\apphtml5\modules\AppfrontModule
;
use
Yii
;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
* Site Module 模块
*/
class
Module
extends
AppfrontModule
{
public
$blockNamespace
;
...
...
@@ -13,20 +24,21 @@ class Module extends AppfrontModule
{
// 以下代码必须指定
$nameSpace
=
__NAMESPACE__
;
//
web controller
//
如果 Yii::$app 对象是由类\yii\web\Application 实例化出来的。
if
(
Yii
::
$app
instanceof
\
yii\web\Application
)
{
// 设置模块 controller namespace的文件路径
$this
->
controllerNamespace
=
$nameSpace
.
'\\controllers'
;
// 设置模块block namespace的文件路径
$this
->
blockNamespace
=
$nameSpace
.
'\\block'
;
// console controller
}
elseif
(
Yii
::
$app
instanceof
\
yii\console\Application
)
{
$this
->
controllerNamespace
=
$nameSpace
.
'\\console\\controllers'
;
$this
->
blockNamespace
=
$nameSpace
.
'\\console\\block'
;
//
} elseif (Yii::$app instanceof \yii\console\Application) {
//
$this->controllerNamespace = $nameSpace . '\\console\\controllers';
//
$this->blockNamespace = $nameSpace . '\\console\\block';
}
//$this->_currentDir = __DIR__ ;
//$this->_currentNameSpace = __NAMESPACE__;
// 指定默认的man文件
//$this->layout = "home.php";
// 设置该模块的view(theme)的默认layout文件。
Yii
::
$service
->
page
->
theme
->
layoutFile
=
'home.php'
;
parent
::
init
();
}
...
...
app/appserver/config/appserver.php
浏览文件 @
d472d7eb
...
...
@@ -25,7 +25,10 @@ return [
// access-token 过期时间。
'accessTokenTimeout'
=>
86400
,
// 速度控制[120,60] 代表 60秒内最大访问120次,
'rateLimit'
=>
[
120
,
60
],
'rateLimit'
=>
[
'enable'
=>
false
,
# 是否开启?默认不开启速度控制。
'limit'
=>
[
120
,
60
],
]
],
// language config.
'components'
=>
[
...
...
app/appserver/modules/AppserverTokenController.php
浏览文件 @
d472d7eb
...
...
@@ -54,10 +54,13 @@ class AppserverTokenController extends AppserverController
你可以禁用这些头信息通过配置 yii\filters\RateLimiter::enableRateLimitHeaders 为false, 就像在上面的代码示例所示。
*/
$behaviors
[
'rateLimiter'
]
=
[
'class'
=>
RateLimiter
::
className
(),
'enableRateLimitHeaders'
=>
true
,
];
$rateLimit
=
Yii
::
$app
->
params
[
'rateLimit'
];
if
(
isset
(
$rateLimit
[
'enable'
])
&&
$rateLimit
[
'enable'
]){
$behaviors
[
'rateLimiter'
]
=
[
'class'
=>
RateLimiter
::
className
(),
'enableRateLimitHeaders'
=>
true
,
];
}
return
$behaviors
;
}
...
...
models/mysqldb/customer/CustomerAccessToken.php
浏览文件 @
d472d7eb
...
...
@@ -44,8 +44,8 @@ class CustomerAccessToken extends Customer implements IdentityInterface ,RateLim
# 文档标注:返回允许的请求的最大数目及时间,例如,[100, 600] 表示在600秒内最多100次的API调用。
public
function
getRateLimit
(
$request
,
$action
){
$rateLimit
=
Yii
::
$app
->
params
[
'rateLimit'
];
if
(
is_array
(
$rateLimit
)
&&
!
empty
(
$rateLimit
)){
return
$rateLimit
;
if
(
is_array
(
$rateLimit
[
'limit'
])
&&
!
empty
(
$rateLimit
[
'limit'
]
)){
return
$rateLimit
[
'limit'
]
;
}
else
{
return
[
120
,
60
];
}
...
...
models/mysqldb/customer/CustomerLogin.php
浏览文件 @
d472d7eb
...
...
@@ -60,15 +60,15 @@ class CustomerLogin extends Model
* 1. 当不开启cookie时,$duration的设置是无效的,yii2只会从user组件Yii::$app->user->authTimeout
* 中读取过期时间
* 2. 当开启cookie,$duration是有效的,会设置cookie的过期时间。
* 如果不传递时间,默认使用 Yii::$
app
->session->timeout的值。
* 如果不传递时间,默认使用 Yii::$
service
->session->timeout的值。
* 总之,为了方便处理cookie和session的超时时间,统一使用
* session的超时时间,这样做的好处为,可以让account 和 cart session的超时时间保持一致
*/
public
function
login
(
$duration
=
0
)
{
if
(
!
$duration
)
{
if
(
Yii
::
$
app
->
session
->
timeout
)
{
$duration
=
Yii
::
$
app
->
session
->
timeout
;
if
(
Yii
::
$
service
->
session
->
timeout
)
{
$duration
=
Yii
::
$
service
->
session
->
timeout
;
}
}
if
(
$this
->
validate
())
{
...
...
services/page/Currency.php
浏览文件 @
d472d7eb
...
...
@@ -194,7 +194,7 @@ class Currency extends Service
protected
function
actionGetCurrentCurrency
()
{
if
(
!
$this
->
_currentCurrencyCode
)
{
$this
->
_currentCurrencyCode
=
Yii
::
$
app
->
session
->
get
(
self
::
CURRENCY_CURRENT
);
$this
->
_currentCurrencyCode
=
Yii
::
$
service
->
session
->
get
(
self
::
CURRENCY_CURRENT
);
}
return
$this
->
_currentCurrencyCode
;
...
...
@@ -210,7 +210,7 @@ class Currency extends Service
$currencyCode
=
$this
->
defaultCurrency
;
}
if
(
$currencyCode
)
{
Yii
::
$
app
->
session
->
set
(
self
::
CURRENCY_CURRENT
,
$currencyCode
);
Yii
::
$
service
->
session
->
set
(
self
::
CURRENCY_CURRENT
,
$currencyCode
);
return
true
;
}
...
...
services/session/PhpSession.php
浏览文件 @
d472d7eb
...
...
@@ -19,9 +19,15 @@ use fecshop\models\mysqldb\SessionStorage;
*/
class
PhpSession
implements
SessionInterface
{
public
$timeout
;
public
function
__construct
(){
$this
->
timeout
=
Yii
::
$app
->
session
->
timeout
;
}
public
function
set
(
$key
,
$val
,
$timeout
){
if
(
$timeout
){
$this
->
timeout
=
$timeout
;
Yii
::
$app
->
session
->
setTimeout
(
$timeout
);
}
return
Yii
::
$app
->
session
->
set
(
$key
,
$val
);
...
...
@@ -38,6 +44,7 @@ class PhpSession implements SessionInterface
public
function
setFlash
(
$key
,
$val
,
$timeout
){
if
(
$timeout
){
$this
->
timeout
=
$timeout
;
Yii
::
$app
->
session
->
setTimeout
(
$timeout
);
}
return
Yii
::
$app
->
session
->
setFlash
(
$key
,
$val
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录