Fecmall

第 2 位会员

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

你去学习下yii2语法吧。

查询mongo,找到结果为空7年前

1.代码不要用截图,请贴代码上来!!!!!

2.

$data = Yii::$service->product->review->coll($filter);

var_dump($data);

这个是返回结果,这么基本的语法问题,不要发过来了,自己去学习yii2,自己去看fecshop源码自己琢磨。

多转转脑子,多深究点东西,少提点这样的问题,自己多去琢磨下就能解决的问题,在这里问来问去,一点意思也没有,这不是聊天室。

用户没登陆可以加入购物车在什么地方配置的,没找到7年前

参考下这个:http://www.fecshop.com/topic/60

把标题和内容的关键字描述详细一点,方便后面的人来搜索问题

用户没登陆可以加入购物车在什么地方配置的,没找到7年前

产品加入购物车之后,点击按钮进行下一步的时候,您想卡住这个步骤,让用户只能先登录账户才能继续下单,您可以在这里设置:

@fecshop/app/appfront(apphtml5)/config/modules/Checkout.php

return [
    /**
     * checkout 模块的配置,您可以在@apphtml5/config/fecshop_local_modules/Checkout.php 
     * 中进行配置,二开,或者重写该模块(在上面路径中如果文件不存在,自行新建配置文件。)
     */
    'checkout' => [
        'class' => '\fecshop\app\apphtml5\modules\Checkout\Module',
        /**
         * 模块内部的params配置。
         */
        'params'=> [
            'guestOrder' => true, // 是否支持游客下单
        ],
    ],
];

guestOrder 设置成 false后,在购物车点击proceed to Pay ,就会跳转到账户登录页面

用户没登陆可以加入购物车在什么地方配置的,没找到7年前

默认就可以加入购物车,不需要设置

关于购物车的更多信息: Fecshop 购物车

我想再后台加入新的css和js按照文档上的说两种方式都没有加载进来7年前

@zxh9011 #11楼 代码更新后,参看文档:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-appadmin-theme.html

是可以的,我都测试了,没有问题,文档里面都有我测试通过后,从html取出来的字符

<link href="/assets/2be7122d/css/my.css?v=1" rel="stylesheet">

...

<script src="/assets/2be7122d/js/my.js?v=1"></script>

详细看看那个文档

数据库的存储操作问题(我只接触到了表象)7年前

对于问题2,在补充一下:

Yii::$app->db->createCommand()

db是Yii的一个组件,对应的是mysql,如果我有另外一个数据库,设置的是db2,如果我要将某些数据表移动到db2里面(假设有这种需求),那么,我需要在很多代码处进行更改成

Yii::$app->db2->createCommand()

但是,我如果用AR,修改一个方法就可以了,维护成本大大降低。

public static function getDb()
    {
        return Yii::$app->getDb2();
    }
数据库的存储操作问题(我只接触到了表象)7年前

您好,逐个回答您的问题:

问题1:

list($this->_xxModelName,$this->_xxModel) = \Yii::mapGet($this->_xxModelName);,为什么要这样写,而不是直接通过use 引入model?

答:fecshop 希望用户可以在不修改源代码的前提下,可以修改任意功能,因此,如果使用use xxxxxx/Model,用户无法通过配置重写这个Model,因此,通过 \Yii::mapGet 函数,这个函数会去读取配置,是否存在重写,如果存在,则使用重写的,如果不存在,则使用当前赋值的,关于这个机制,详细参看:fecshop 重写机制, 该页面的 8.通过rewriteMap进行重写Block Model 层

使用起来会感觉有点绕,但这也是没办法的事,当你在本地开发的时候,可以直接引入 use xxxxxx/Model , 直接使用,因为你本地开发的程序,不是做库包,因此如果想修改,直接修改就好了

因此,你本地可以直接

use  appadmin\local\local_models\mysqldb\Customer;
...

Customer::find()->where(array("id"=>$id))->all();

问题2:这个应该是查找配置表的一行的数据 现在查的问题,还可以仿造弄一弄。但是存的时候我发现:我用YII2原生的方法存就可以,如:

Yii::$app->db->createCommand()->insert('table_name', [
        'msg'         => $msg,
        'customer_id' => $id,
        'created_at'  => $t,
    ])->execute();

答:肯定可以,使用使用php的原生sql都可以,使用yii2的ActiveRecord,维护以及代码可读性会更好,代码更精简。

另外,对于mysql,mongodb,不同类型的数据库,在使用AR的时候,很多操作几乎是一样的(当然也存在一定的差异)

问题3:ActiveRecord 保存后返回Id的问题

答: 插入数据后,id会保存到model的属性中,代码示例如下:

// 假设数据库是mysql ,主键为id。
function insert(){
	
	$ob = new $this->_xxModelName;
	$ob->email = 'xxxx',
	$ob->first_name = 'xxx',
	...
	$ob->save();
	return $ob->id;
}


返回的就是insert数据后的id

查询mongo,找到结果为空7年前

@zhuzhi1 #7楼 产品评论表,加一个order_item_id字段, 关联到 sales_flat_order_item.item_id ,这样更合理一些

不过,你那种方式也行,具体看自己的业务,满足自己的业务就好,实用主义观点。

我想再后台加入新的css和js按照文档上的说两种方式都没有加载进来7年前

文档:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-appadmin-developer.html

上面文档的最后部分有这么一句话:关于后台加入菜单,以及设置权限可以参看文档:http://www.fecshop.com/topic/437

需要刷新cache。

不知道是我的版本低了还是fecshop系统bug7年前

历史原因残留代码,把这个代码去掉就行,改成这样吧

public function attributes($origin = false)
    {
        $origin = [
            '_id',
            'product_spu',
            'product_sku',
            'product_id',
            'rate_star',
            'name',
            'user_id',
            'ip',
            'summary',
            'review_content',        // 评论的内容
            'review_date',            // 评论的最后更新时间
            'store',            // store
            'lang_code',        // 语言
            'status',            // 审核状态 10代表未审核,1代表已审核。
            'audit_user',        // 审核账号
            'audit_date',        // 审核时间
        ];
        if (is_array(self::$_customAttrs) && !empty(self::$_customAttrs)) {
            $origin = array_merge($origin, self::$_customAttrs);
        }

        return $origin;
    }

我查阅了一下代码,没有实际用到 addCustomAttrs 这个方法的,因此目前对功能没有影响,改成上面的样子把,

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

代码已经提交,下个版本会更新,多谢发现代码问题。

不知道是我的版本低了还是fecshop系统bug7年前

注意描述清楚问题,自己的帖子别人是否能看懂。

不知道是我的版本低了还是fecshop系统bug7年前

怀疑版本低,就去github对比一下不就行了?

不知道是我的版本低了还是fecshop系统bug7年前

文件路径!!!!!!!

本地环境不开启cookie_domain不能注册,正式环境没有开启cookie_domain但是能注册7年前

@sevened #9楼 可能是你自己的思路有问题,先入为主,自己思考琢磨下源码吧,我帮不上忙,你的文字描述看不懂。

本地环境不开启cookie_domain不能注册,正式环境没有开启cookie_domain但是能注册7年前

@sevened [[#7楼](#comment7)](#comment7) 不明白你在干什么,想什么,看什么,描述什么,

我给你的留言的内容,你还在不确定,不明白你在想什么,描述的东西模模糊糊,让人看不明白到底是什么!!

该说的都说了,其他帮不上忙了,自己处理吧。

本地环境不开启cookie_domain不能注册,正式环境没有开启cookie_domain但是能注册7年前
<?php
error_reporting(E_ALL & ~E_NOTICE & ~E_COMPILE_WARNING ); //除去 E_NOTICE E_COMPILE_WARNING 之外的所有错误信息
//ini_set('session.cookie_domain', '.fancyecommerce.com'); //初始化域名,

本地注释掉试试。如果设置这个,必须和当前域名一致。

另外,/etc/php.ini 配置文件中的

; The domain for which the cookie is valid.
; http://php.net/session.cookie-domain
; session.cookie_domain =

注释掉

Your Site Analytics