Fecmall

第 2 位会员

会员
个人信息
  • 加入于 2017-05-31 17:38:45
  • 城市 Qingdao
  • GitHub https://github.com/fecshop
  • 最后登录时间 12天前
  • 签名 净化自己,潜心编码
个人简介
Terry,Fecmall开源产品作者,12年电商经验一线程序员开发者,擅长规划产品,架构设计。
个人成就
  • 发表文章次数 744
  • 发布回复次数 5760
  • 个人主页浏览次数 683
请教一个Elasticsearch2.4.1安装的时候出现的问题7年前

@Blue_yii #2楼 那就仔细看教程,你应该没有严格按照文档操作,文档都是实战验证过了的。一般不会出问题。

产品信息保存出错7年前

后面又进行了一些调整,具体参看后面的新版本。

优化建议 建议增加商品可以设置最少购买数量7年前

过段时间发布新版本,这个功能将可以使用。

关于appserver的seesion问题7年前

我有点比较模糊你的问题:

你调用session , 使用的是 Yii::$app->serssion 组件, 还是fecshop的 Yii::$service->session 服务 ,如果使用Yii的session组件,这里的设置是没有作用的。只有使用fecshop的session services才有作用。 采用使用 MysqlDbSession。

另外,\Yii::$app->user->enableSession 的设置只是针对Yii2 session组件,并不代表关闭Yii::$app->session, 但是fecshop的session services,依据这个值,来进行选择使用哪个作为存储。

这里你不要搞混了,fecshop session services里面的 MysqlDbSession ,仅仅实现了一个类似session的功能,不是真正意义上的session, 和php session存储到mysql的方式,不是一回事。

不知道是否解决了你的问题。

系统关联表的疑问7年前

@liu23 [[[#2楼](#comment2)](#comment2)](#comment2) join操作,一般是避免使用的,因为join操作,需要将2个或者多个表,在内存里面拼成一个临时表, 如果两个表非常大,如果是万级别的表,这样非常的占用内存和资源,因此,两个大表,尽量避免使用join操作,做个erp的童鞋应该知道这个,一开始用的join查询,性能还不错,当业务积累数据越来越多,两个表的数据到了几十万,甚至百万千万的时候,会发现系统越来越慢,通过慢查询日志查看,很多都是join语句搞的。

如果先查一个表的数据,然后在通过in查询或者其他查询去另外一个表查询,把相关字段加上索引,会高效的多。

但是,有一些需求是必须使用join操作才能完成的,通过上面的多次查询是无法完成的,譬如:进行排序的两个字段分布在两个表中,必须先把两个表join起来生成临时表,然后才能进行两个字段排序取值,这个是必须用join的 。

但是,我们也有办法不使用join,就是做数据冗余,把join的两个表,其中的一个字段冗余到另外一个表中,也就是用于排序的a表的字段,在b表中也加入一个字段,这样我们在单表就可以进行排序,这样可以加快查询,缺点就是维护数据更新会麻烦一些,而且增加存储空间,各有利弊吧。

mongodb多维度存储接口,类似于php的多维数组,因此不需要join,产品表一个表搞定,可以很快的查询出来结果。

fecshop中没有用到join操作,多表的关联查询,都是查完一个表,然后查询下一个表。

图片上传和传产品出现问题,直接上图7年前

1.js 报错: func is not define 已经修复,参看:

https://github.com/fecshop/yii2_fecshop/commit/c17d074d7b6c760aa86b514f7c7869892da2294c

2.产品保存有很多字段是必填的,在保存的时候,如果必填字段没有填写,则会提示:

下面是必填的字段截图:

另外需要注意的,这些必填针对的是默认语言,其他的语言可选,如果其他语言不填写,那么,就会使用默认语言。

譬如,fecshop默认的语言是英文,那么,这些选项对应的是en下面的属性必填,其他语言选填。

请教Yii2-queue使用方法7年前

如果您需要即时所有的异步处理,那么只能用while 死循环一直监听

如果你允许有一定的延迟,那么,我有一个方法,您参考下:

首先写一个sync.sh ,shell文件内容如下:

#!/bin/sh
Cur_Dir=$(cd `dirname $0`; pwd)


while [ 1 ]
do
    echo '########### fectch from remote [begin]...'
    $Cur_Dir/../../yii  amqp/product/listen
    
    echo '########### fectch from remote [complete]...'
    echo '########### sleep 3 seconds...'
    sleep 3
    echo '########### sleep 3 seconds complete...'
done

这个shell的每一个shell会sleep 3秒 ,然后继续执行 amqp/product/listen ,下面是这个controller对应的代码:

/**
     * 接收数据
     */
    public function actionListen()
    {
        $this->open();
        $callback = function(AMQPMessage $message) {
            if ($this->handleMessage($message->body)) {
                $message->delivery_info['channel']->basic_ack($message->delivery_info['delivery_tag']);
            }
        };
        $this->channel->basic_qos(null, 1, null);
        $this->channel->basic_consume($this->queueName, '', false, false, false, false, $callback);
        while(count($this->channel->callbacks)) {
            $this->i++;
            $this->channel->wait();
            // 一次更新5次,以免内存泄露
            if($this->i >=5){
                $this->close();
                exit;
            }
        }
        
    }
	

也就是shell 的while循环 开启一个php的进程,进行mq监听,循环5次,然后退出这个循环。结束,sleep 3秒,然后shell又开启一个php进程

这样就会间断性的监听,节省一点。

产品信息保存出错7年前

您好,您先安装下xunsearch吧,现在还没有做关掉的配置,近期加入这个可以关掉xunsearch的配置。

系统关联表的疑问7年前

请贴上具体代码分析,不要空谈,我不会回答这样的问题

请说出来具体的表,具体的功能,以及具体的代码文件和代码位置,然后说出来你下这个论断的依据。

产品信息保存出错7年前

需要安装xunsearch,或者你关掉xunsearch的配置,具体看文档

优化建议 建议增加商品可以设置最少购买数量7年前

这两天,看看就弄一下你提的建议。

请问一下,如果是韩文或日文怎么做搜索呢?7年前

elasticSearch ,Yii2有相应的扩展,目前还没有扩展这一块做搜索

elasticSearch 默认没有中文搜索,但是有插件,日文韩文应该也会有的。

自己扩展大致可以解决这个,后面有时间,我看看也扩展一下这个方面。

fecshop产品属性疑问7年前

@xi_qing #1楼 修改完代码后,需要去后台把产品重新保存一下。

还是从根源部分去除这个bug吧,原因是:

fecshop产品属性疑问7年前

这个bug已经处理,原因:custom option sku 含有 & 特殊字符被转义成 “&” 进而导致的bug

代码需要进行的修改参看:https://github.com/fecshop/yii2_fecshop/commit/2af0be0f6c7c96911101dd6fe6e71d5c2d3481b2

我测试已经通过,测试地址: https://fecshop.appfront.fancyecommerce.com/reindeer-pattern-glitter-christmas-dress-86519596

请问一下,如果是韩文或日文怎么做搜索呢?7年前

您好,你可以扩展一下搜索,用elasticSearch来做搜索。

Your Site Analytics