Fecmall

第 2 位会员

会员
个人信息
  • 加入于 2017-05-31 17:38:45
  • 城市 Qingdao
  • GitHub https://github.com/fecshop
  • 最后登录时间 11天前
  • 签名 净化自己,潜心编码
个人简介
Terry,Fecmall开源产品作者,12年电商经验一线程序员开发者,擅长规划产品,架构设计。
个人成就
  • 发表文章次数 744
  • 发布回复次数 5760
  • 个人主页浏览次数 683
AccessFilter对不符合规则请求页面跳转至site/login,这是在哪里实现的?7年前

不明白你的意思,fecshop并没有做跳转,对于不存在的页面,譬如: https://fecshop.appfront.fancyecommerce.com/fdasfdsa

返回的是404状态吗,并没有做跳转

下单问题7年前

看你的网站,也是做外文的,老外都习惯留邮箱,你为什么要去掉email呢?去掉email,你如何联系你的用户,如果给用户发订单邮件?

下单问题7年前

目前的逻辑是不可以的,如果你想不要,你需要做很多的修改。

逻辑判断的地方都去掉、

后台添加产品 前台产品特价价格不显示?7年前

你可以自己尝试解决下,找找代码打印出来,

找出来问题,出现问题的原因以及解决的方法在这里贴一下

后台添加产品 前台产品特价价格不显示?7年前

你把特价时间拉长,试试?

也就是特价开始时间 和 特价结束时间

后台添加产品 前台产品特价价格不显示?7年前

我的环境是没有问题的

可以看到特价是显示的,你是不是开启了缓存?你把这个产品加入购物车看看,是否是特价? 或者你把你网站的代码给改了,只显示价格,不显示特价?

不能进行注册和登录7年前

在你的环境里面顺藤摸瓜,看看到底是什么原因导致的 $apiConfig 为空值,然后把原因在这里贴一下.

不能进行注册和登录7年前

您好,我看了一下这个问题

您的报错位置为:/vendor/fancyecommerce/fecshop/lib/google/lib/Google_Client.php

public function __construct($config = array()) {
    global $apiConfig;
    $apiConfig = array_merge($apiConfig, $config);
    self::$cache = new $apiConfig['cacheClass']();
    self::$auth = new $apiConfig['authClass']();
    self::$io = new $apiConfig['ioClass']();
  }

你的报错为:Class name must be a valid object or a string

$apiConfig的部分赋值为: /vendor/fancyecommerce/fecshop/lib/google/lib/Google_Client.php

代码:require_once "config.php";

也就是打开文件:

在这里对$apiConfig进行了赋值,在require_once "config.php";这个代码后面打印输出

// hack around with the include paths a bit so the library 'just works'
set_include_path(dirname(__FILE__) . PATH_SEPARATOR . get_include_path());

require_once "config.php";

var_dump($apiConfig);

结果如下:

array(13) { ["use_objects"]=> bool(false) ["application_name"]=> string(0) "" ["oauth2_client_id"]=> string(0) "" ["oauth2_client_secret"]=> string(0) "" ["oauth2_redirect_uri"]=> string(0) "" ["developer_key"]=> string(0) "" ["site_name"]=> string(15) "www.example.org" ["authClass"]=> string(13) "Google_OAuth2" ["ioClass"]=> string(13) "Google_CurlIO" ["cacheClass"]=> string(16) "Google_FileCache" ["basePath"]=> string(26) "https://www.googleapis.com" ["ioFileCache_directory"]=> string(18) "/tmp/Google_Client" ["services"]=> array(1) { ["oauth2"]=> array(1) { ["scope"]=> array(2) { [0]=> string(48) "https://www.googleapis.com/auth/userinfo.profile" [1]=> string(46) "https://www.googleapis.com/auth/userinfo.email" } } } }

你在你的环境里面看看,到底存在什么问题,我的环境是centos 6

window上如何安转该系统7年前

win下面没有教程,自己想办法安装那些php扩展 mongodb redis 等吧

我对win下部署开发环境不熟悉,尽量用linux吧,不会就学习一下,作为程序员,不玩linux不行的。

用户注册失败7年前

@johnnylj #3楼 你这个问题有点怪,你自己排查一下原因吧。

用户注册失败7年前

@johnnylj #1楼 你试试高版本redis吧

参考文档:http://www.fancyecommerce.com/2016/05/03/yii2-redis-配置/

以前有人遇到过因为redis版本过低导致验证码的问题

关于域名以及Store的配置7年前

你可以安装后,参考一下里面的fr的实现,吧https://fecshop.appfront.fancyecommerce.com/fr/ 实现出来,里面相应的代码都写好了,你直接nginx配置就行, 这种配置好后,你自然就明白原理。

新建一个项目访问modules的控制器 报错yii\base\InvalidRouteException: Unable to resolve the request "appagent/error".7年前

建议你还是使用fecshop原来的入口,譬如appfront apphtml5等,在这里新建module,然后进行相应的扩展。

新建一个项目访问modules的控制器 报错yii\base\InvalidRouteException: Unable to resolve the request "appagent/error".7年前

你是新建了一个入口对吧?

新建一个入口需要在配置文件@common/config/bootstrap.php中添加配置,这个是Yii2框架的知识:

Yii::setAlias('@common', dirname(__DIR__));
Yii::setAlias('@console', dirname(dirname(__DIR__)).'/console');
Yii::setAlias('@appadmin', dirname(dirname(__DIR__)).'/appadmin');
Yii::setAlias('@appfront', dirname(dirname(__DIR__)).'/appfront');
Yii::setAlias('@apphtml5', dirname(dirname(__DIR__)).'/apphtml5');
Yii::setAlias('@appserver', dirname(dirname(__DIR__)).'/appserver');

如果你是在根目录新建的入口,文件夹名字为:appagent,那么你需要添加

Yii::setAlias('@appagent', dirname(dirname(__DIR__)).'/appagent');

然后你的类里面的namespace

2.然后你需要在 appagent 里面添加你的web config等文件夹,这个需要你对Yii2框架比较熟悉才能搞定

如果你不熟悉,最好的方式是复制appfront成appagent,然后按照第一部的方式进行配置, 然后打开 @appagent/config/main.php,将

return [
    'id'       => 'app-front',

改成

return [
    'id'       => 'app-agent',

除了这个,还有下面的一些都需要更改 ,也就是出现字符 front 都需要改一下,

这个是比较麻烦的,建立在你比较熟Yii2和fecshop,如果是新手不建议这样搞。

关于域名以及Store的配置7年前

你想要的这个,其实就是fecshop多语言两种方式中的一种,譬如: https://fecshop.appfront.fancyecommerce.com/fr/

fecshop多语言分为2种实现方式

1.子域名的方式 www.xx.com fr.xx.com es.xx.com

2.后缀的方式 www.xx.com/fr www.xx.com/es

关于域名以及Store的配置7年前

可以的

1.nginx 配置,将 www.xxx.com 指向 @app/web目录

2.store配置:

参考:http://www.fecshop.com/doc/fecshop-guide/instructions/cn-1.0/guide-fecshop_store.html

'stores' => [	
	# store key:域名去掉http部分,作为key,这个必须这样定义。
	'www.xxx.com/appserver' => [
		'language' 		=> 'en_US',

注意:store key是域名+appserver,也就是:www.xxx.com/appserver

3.需要去@app/web 路径下面新建一个文件夹appserver ,进入这个文件夹,添加文件夹 @app/web/appserver/assets 和index.php文件 @app/web/appserver/index.php

注意: @app/web/appserver/assets 要设置可写

index.php的内容复制@app/web/index.php,然后将里面的文件路径改改,譬如将

 require(__DIR__ . '/../../vendor/autoload.php');
require(__DIR__ . '/../../vendor/fancyecommerce/fecshop/yii/Yii.php');

改成

require(__DIR__ . '/../../../vendor/autoload.php');
require(__DIR__ . '/../../../vendor/fancyecommerce/fecshop/yii/Yii.php');

因为文件夹的路径不同,因此需要加一个 /.., 你不用自己更改了,直接复制我下面的内容添加到@app/web/appserver/index.php 即可。

<?php
error_reporting(E_ALL || ~E_NOTICE); //除去 E_NOTICE 之外的所有错误信息
#ini_set('session.cookie_domain', '.fancyecommerce.com'); //初始化域名,
$http = ($_SERVER['SERVER_PORT'] == 443) ? 'https' : 'http';
$homeUrl = $http.'://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['SCRIPT_NAME']), '\\/');

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

require(__DIR__ . '/../../../vendor/autoload.php');
require(__DIR__ . '/../../../vendor/fancyecommerce/fecshop/yii/Yii.php');

require(__DIR__ . '/../../../common/config/bootstrap.php');

require(__DIR__ . '/../../config/bootstrap.php');

$config = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/../../../common/config/main.php'),
    require(__DIR__ . '/../../../common/config/main-local.php'),
    require(__DIR__ . '/../../config/main.php'),
    require(__DIR__ . '/../../config/main-local.php'),
	# fecshop services config
	require(__DIR__ . '/../../../vendor/fancyecommerce/fecshop/config/fecshop.php'),
	# fecshop module config
	require(__DIR__ . '/../../../vendor/fancyecommerce/fecshop/app/appfront/config/appfront.php'),
	
	# thrid part confing
	
	# common modules and services.
	require(__DIR__ . '/../../../common/config/fecshop_local.php'),
	 
	# appadmin local modules and services.
	require(__DIR__ . '/../../config/fecshop_local.php')
    
);

$config['homeUrl'] = $homeUrl;

/**
 * yii class Map Custom 
 */ 
$yiiClassMap = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/../../config/YiiClassMap.php'),
    require(__DIR__ . '/../../../common/config/YiiClassMap.php')
);
if(is_array($yiiClassMap) && !empty($yiiClassMap)){
	foreach($yiiClassMap as $namespace => $filePath){
		Yii::$classMap[$namespace] = $filePath;
	}
}

/**
 * Yii 重写block controller model等
 * 也就是说:除了compoent 和services,其他的用RewriteMap的方式来实现重写
 * 重写的类可以集成被重写的类
 */ 
$yiiRewriteMap = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/../../config/YiiRewriteMap.php'),
    require(__DIR__ . '/../../../common/config/YiiRewriteMap.php')
);
if(is_array($yiiRewriteMap) && !empty($yiiRewriteMap)){
	Yii::$rewriteMap = $yiiRewriteMap;
}

/**
 * 添加fecshop的服务 ,Yii::$service  ,  将services的配置添加到这个对象。
 * 使用方法:Yii::$service->cms->article;
 * 上面的例子就是获取cms服务的子服务article。
 */
new fecshop\services\Application($config['services']);
unset($config['services']);

$application = new yii\web\Application($config);
$application->run();

必须安装mongodb和redis吗?7年前

如果不能胜任安装,您需要提升下自己的技术能力了。

Your Site Analytics