安装完毕后,鼠标放到左上角语言选项,4种语言各重复了一遍

安装报错 · rsmove · 于 6年前 发布 · 1830 次阅读

composer方式安装,配置完fecshop/common/config/fecshop_local_services/Store.php后,PC端访问页面正常,但是,左上角语言栏,4个语言选项重复了一遍,变成了8个,请问如何解决

共收到 8 条回复
rsmove#16年前 0 个赞

Store.php 采用的安装说明里的内容

Fecmall#26年前 0 个赞

看不懂

3楼 已删除.
4楼 已删除.
5楼 已删除.
rsmove#66年前 0 个赞
<?php
   return [
   'store' => [
		'class' => 'fecshop\services\Store',
		'stores' => [
			# 数据的key就是域名
			'appfront.fecshoptest.com' => [
				'language' 		=> 'en_US',   # 语言必须在上面第五步的fecshoplang中定义,否则将无法得到语言属性。
				'languageName' 	=> 'English', # 在添加store的时候,必须查看 添加的语言在 fecshoplang中是否定义。
				# 定义本地模板路径,用来重写fecshop的模板,或者开发新的模板文件。
				//'localThemeDir'	=> '@appfront/theme/terry/theme01',
				# 定义第三方模板路径,用来重写fecshop的模板,或者开发新的模板文件。
				'thirdThemeDir'	=> [],
				# 当前语言的默认货币,货币必须在上面第六步的配置中存在
				'currency' 		=> 'USD',
				'mobile'		=> [ # 当设备满足什么条件的时候,进行跳转。
					'enable'		=> true,
					'condition'		=> ['phone','tablet'], # phone 代表手机,tablet代表平板
					'redirectUrl' 	=> 'apphtml5.fecshoptest.com',	# 如果是移动设备访问进行域名跳转
				],
				# 第三方账号登录配置
				'thirdLogin' => [
					'facebook' =>[                       #fb api配置 ,fb可以一个app设置pc和手机两个域名 
						'facebook_app_id'     => '184963',
						'facebook_app_secret' => '2e097dd7139',
					],
					"google" => [                       #谷歌api visit https://code.google.com/apis/console to generate your google api
						'CLIENT_ID'  	 => '38037grhccontent.com',
						'CLIENT_SECRET'  => 'ei8RaoCHYm0rrwO',
					],
				]

				//'image'	=> [
				//	'domain' => 'img.appfront.fancyecommerce.com',
				//	'baseDir'=> '@appimage/appfront',
				//]
			],
			'appfront.fecshoptest.com/fr' => [
				'language' 		=> 'fr_FR',
				'languageName' 	=> 'Fran?ais',
				'localThemeDir'	=> '@appfront/theme/terry/theme01',
				'thirdThemeDir'	=> [],
				'currency' 		=> 'RMB',
				'mobile'		=> [
					'enable'			=> true,
					'condition'			=> ['phone'], # phone 代表手机,tablet代表平板。
					'redirectDomain' 	=> 'apphtml5.fecshoptest.com/fr', # 跳转后的url。
				],
			],
			'appfront.fecshoptest.es' => [
				'language' 		=> 'es_ES',
				'languageName' 	=> 'Espa?ol',
				'localThemeDir'	=> '@appfront/theme/terry/theme01',
				'thirdThemeDir'	=> [],
				'currency' 		=> 'USD',
				'mobile'		=> [
					'enable'		=> true,
					'condition'		=> ['tablet'],
					'redirectDomain' 	=> 'apphtml5.es.fancyecommerce.com',	
				],
			],
			'appfront.fecshoptest.com/cn' => [
				'language' 		=> 'zh_CN',
				'languageName' 	=> '中文',
				'localThemeDir'	=> '@appfront/theme/terry/theme01',
				'thirdThemeDir'	=> [],
				'currency' 		=> 'RMB',
				'mobile'		=> [
					'enable'		=> false,
					'condition'		=> ['phone','tablet'],
					'redirectDomain' 	=> 'apphtml5.fancyecommerce.com/cn',	
				],
			],
		],
		
	],
			
];
rsmove#76年前 0 个赞

Store.php的代码

Fecmall#86年前 0 个赞

当出现8个语言的时候

1.在appfront/web/index.php 里面加断点,打印一下

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

var_dump(['services']['store']['stores']); exit; // 在入口文件的这个位置插入这个代码打印一下 
 
new fecshop\services\Application($config['services']);
unset($config['services']);

看看输出结果是否可以你上面的配置的数组一致,如果不一致,是8个(你上面是4个),说明你在其他地方还有一个store的配置被加载了,可以搜索文件内容找找

2.顺藤摸瓜自己普查

数据是@fecshop/app/appfront/widgets/Headers.php

'stores'            => Yii::$service->store->getStoresLang(),

这个返回的,打印自己排查

Fecmall#96年前 0 个赞

另外,你如果切换到es语言,域名就是:appfront.fecshoptest.es

要确认你配置的域名,在nginx都做了配置。

rsmove#106年前 1 个赞

非常感谢,已解决问题 Store.php文件,在/www/web/develop/fecshop/appfront/config/fecshop_local_services/目录下。 原来出错,是因为,手工在/www/web/develop/fecshop/common/config/fecshop_local_services 创建了Store.php,导致加载了两次。

Fecmall#116年前 0 个赞

@rsmove #10楼 加油!

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics