Terry

第 333 位会员

会员
个人信息
  • 加入于 2018-01-26 08:46:48
  • 最后登录时间 16天前
个人成就
  • 发表文章次数 21
  • 发布回复次数 268
  • 个人主页浏览次数 35
自定义属性怎么显示到分类页面过滤属性里面28天前

产品文档说的非常详细,仔细看完:http://www.fecshop.com/doc/fecshop-guide/instructions/cn-1.0/guide-fecshop_product.html

对于分类设置自定义属性过滤,参看文档中的:

分类页面产品属性过滤的设置

面包屑乱码 怎么解决28天前

安装完fecshop,是不会乱码的,不需要enca转码,。

另外,你那个乱码部分是菜单,具体什么原因自己找吧

安装说明(yii2_fecshop_docker/README.md)中一处文字错误28天前

上午10点改了,刷一下浏览器就看到了,3Q

安装之后,启动mysql容器失败28天前

https://github.com/laradock/laradock/issues/1173

报错信息去网上自己查吧,帮不上

不熟悉docker就先去学docker

安装之后,启动mysql容器失败28天前

日志看起来乱七八糟的,自己上网上搜索,自己解决吧

严格按照文档操作,就不会出错。

为什么在service层不允许有事务?28天前

1.对于一些不需要强一致性的部分,也就是允许出错的地方,或者说哪一点丝毫的出错不会带来多大影响的地方, 可以不使用事务,譬如购物车信息,如果某次更新cart信息,正好数据库宕机了,用户下次把产品加入购物车的时候,或者删除购物车数据的时候,会重新计算出来,数据会准确,而且现在的云数据库很稳定,很少出这种情况,因此购物车更新的一些多表的操作(购物车有2个表),在外层也没有加事务,即使出错,影响几乎为0.

2.service里面的方法,都是在外层调用的,如果里面的方法加了事务,那么这个方法调用的其他的方法里面,可能存在事务service方法,因此就会传多个事务嵌套,第一个事务还没有提交,又开始开启第二个事务,第三个事务,这会出问题的,另外services层是一个公用层,对于某个方法,后端需要事务,可能前端不需要事务,console可能又需要,而block是各个app入口独有的, 因此只能在block层,也就是外层加事务。

3.对于order表,当生成订单,需要 扣除库存,优惠券使用信息等,这些需要100%强一致的场景都是有事务的

4.可能出现这种问题,block调用的某个方法,只有部分需要事务,另外的部分不需要,那么,你可以把这个方法拆成几个方法,在外层调用。

5.另外,对于mongodb,是没有多表事务的。产品表在mongodb中,但是产品的库存表是在mysql里面的, 这样生成订单的时候,就可以通过mysql的事务机制,扣除库存,保持强一致。 可以参看:https://github.com/fecshop/yii2_fecshop/blob/master/app/appfront/modules/Checkout/block/onepage/Placeorder.php 74行

docker compose安装fecshop,redis无法连接29天前

@leyol [[#2楼](#comment2)](#comment2) 帖子里面有文档地址:https://github.com/fecshop/yii2_fecshop_docker

发了url,居然说找不到,使劲找,作为一个程序员,不会在浏览器里面用ctrl+F搜索文字吗?

手机访问报错:this domain is not config in store component29天前

@apphtml5/config/fecshop_local_services/Store.php

<?php
   return [
   'store' => [
        'class'  => 'fecshop\services\Store',
        'stores' => [
            // store key:域名去掉http部分,作为key,这个必须这样定义。
            'fecshop.apphtml5.fancyecommerce.com' => [
                'language'         => 'en_US',        // 语言简码需要在@common/config/fecshop_local_services/FecshopLang.php 中定义。
                'languageName'     => 'English',    // 语言简码对应的文字名称,将会出现在语言切换列表中显示。
                'localThemeDir'    => '@apphtml5/theme/terry/theme01', // 设置当前store对应的模板路径。关于多模板的方面的知识,您可以参看fecshop多模板的知识。
                'thirdThemeDir'    => [],  // 第三方模板路径,数组,可以多个路径
                'currency'         => 'USD', // 当前store的默认货币,这个货币简码,必须在货币配置中配置

                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                // 用于sitemap生成中域名。
                'https'            => false,
                // sitemap的路径。
                'sitemapDir' => '@apphtml5/web/sitemap.xml',
            ],
            'fecshop.apphtml5.fancyecommerce.com/fr' => [
                'language'         => 'fr_FR',
                'languageName'     => 'Français',
                'localThemeDir'    => '@apphtml5/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'RMB',
                'mobile'           => [
                    'enable'               => false,
                    'condition'            => ['phone'], // phone 代表手机,tablet代表平板。
                    'redirectDomain'       => 'fecshop.apphtml5.fancyecommerce.com/fr', // 跳转后的url。
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@apphtml5/web/fr/sitemap.xml',
            ],
            'fecshop.apphtml5.es.fancyecommerce.com' => [
                'language'         => 'es_ES',
                'languageName'     => 'Español',
                'localThemeDir'    => '@apphtml5/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'USD',
                'mobile'           => [
                    'enable'            => false,
                    'condition'         => ['tablet'],
                    'redirectDomain'    => 'fecshop.apphtml5.es.fancyecommerce.com',
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@apphtml5/web/sitemap_es.xml',
            ],
            'fecshop.apphtml5.fancyecommerce.com/cn' => [
                'language'         => 'zh_CN',
                'languageName'     => '中文',
                'localThemeDir'    => '@apphtml5/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'CNY',
                'mobile'           => [
                    'enable'            => false,
                    'condition'         => ['phone', 'tablet'],
                    'redirectDomain'    => 'fecshop.apphtml5.fancyecommerce.com/cn',
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@apphtml5/web/cn/sitemap.xml',
            ],
        ],

    ],

];

你自己琢磨吧。

手机访问报错:this domain is not config in store component29天前

给你贴一下官网demo的配置:

@appfront/config/fecshop_local_services/Store.php

<?php
   return [
   'store' => [
        'class'  => 'fecshop\services\Store',
        'stores' => [
            // store key:域名去掉http部分,作为key,这个必须这样定义。
            'fecshop.appfront.fancyecommerce.com' => [
                'language'         => 'en_US',        // 语言简码需要在@common/config/fecshop_local_services/FecshopLang.php 中定义。
                'languageName'     => 'English',    // 语言简码对应的文字名称,将会出现在语言切换列表中显示。
                'localThemeDir'    => '@appfront/theme/terry/theme01', // 设置当前store对应的模板路径。关于多模板的方面的知识,您可以参看fecshop多模板的知识。
                'thirdThemeDir'    => [ // 第三方模板路径,数组,可以多个路径
                    
                ],  
                'currency'         => 'USD', // 当前store的默认货币,这个货币简码,必须在货币配置中配置
                /*
                 * 当设备满足什么条件的时候,进行跳转。
                 * 这种方式不怎么高效,最好的方式是在nginx中配置。
                 */
                'mobile'        => [
                    'enable'            => true,
                    'condition'         => ['phone', 'tablet'], // phone 代表手机,tablet代表平板,当都填写,代表手机和平板都会进行跳转
                    'redirectDomain'    => 'fecshop.apphtml5.fancyecommerce.com',    // 如果是移动设备访问进行域名跳转,这里填写的值为store key
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                // 用于sitemap生成中域名。
                'https'            => false,
                // sitemap的路径。
                'sitemapDir' => '@appfront/web/sitemap.xml',
            ],
            'fecshop.appfront.fancyecommerce.com/fr' => [
                'language'         => 'fr_FR',
                'languageName'     => 'Français',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [ // 第三方模板路径,数组,可以多个路径
                    '@fecshop/theme/rosegal/appfront/theme/rosegal',
                ], 
                'currency'         => 'RMB',
                'mobile'           => [
                    'enable'               => false,
                    'condition'            => ['phone'], // phone 代表手机,tablet代表平板。
                    'redirectDomain'       => 'fecshop.apphtml5.fancyecommerce.com/fr', // 跳转后的url。
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/fr/sitemap.xml',
            ],
            'fecshop.appfront.es.fancyecommerce.com' => [
                'language'         => 'es_ES',
                'languageName'     => 'Español',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'USD',
                'mobile'           => [
                    'enable'            => false,
                    'condition'         => ['tablet'],
                    'redirectDomain'    => 'fecshop.apphtml5.es.fancyecommerce.com',
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/sitemap_es.xml',
            ],
            'fecshop.appfront.fancyecommerce.com/cn' => [
                'language'         => 'zh_CN',
                'languageName'     => '中文',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'CNY',
                'mobile'           => [
                    'enable'            => false,
                    'condition'         => ['phone', 'tablet'],
                    'redirectDomain'    => 'fecshop.apphtml5.fancyecommerce.com/cn',
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/cn/sitemap.xml',
            ],
            
            
            'fecshop.appfront.fancyecommerce.com/it' => [
                'language'         => 'it_IT',  
                'languageName'     => 'Italiano',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'RMB',
                'mobile'           => [
                    'enable'               => false,
                    'condition'            => ['phone'], // phone 代表手机,tablet代表平板。
                    'redirectDomain'       => 'fecshop.apphtml5.fancyecommerce.com/it', // 跳转后的url。
                    'https'             => false,  // 手机端url是否支持https,如果支持,设置https为true,如果不支持,设置为false
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/it/sitemap.xml',
            ],
        ],

    ],

];

手机访问报错:this domain is not config in store component29天前

pc入口,appfront 检测设备的配置是要上的

'mobile'           => [
	'enable'            => true,
	'condition'         => ['phone', 'tablet'],
	'redirectDomain'    => 'apphtml5.myweb.com',  // 这个就是html5的store的key
],

apphtml5的部分去掉。

脑子能不能转一下思考思考,自己琢磨吧,说这么多我自己都觉着烦乱。

讨论问题的前期是先思考问题,发帖也是,先动脑子思考问题。

手机访问报错:this domain is not config in store component29天前

@freetiger #7楼 检测设备跳转,手机访问pc端,检测到移动设备,跳转到apphtml5入口,通过配合开关决定是否跳转。

如果流量大,这个最好是在nginx层面做。

Your Site Analytics