Yii2 - (三)安装 AdminLTE 渲染后台 和 yii2-admin 集成 rbac
Yii2.0 • 鸿宇 发表了文章 • 0 个评论 • 4686 次浏览 • 2016-10-15 20:04
1、利用 AdminLTE 渲染后台模板
AdminLTE 是一个完全响应管理模板。基于 Bootstrap3 框架,易定制模板。适合多种屏幕分辨率,从小型移动设备到大型台式机。内置了多个页面,包括仪表盘、邮箱、日历、锁屏、登录及注册、404错误、500错误等页面。
① 进入 cmd,切换到 advanced 目录,输入composer require dmstr/yii2-adminlte-asset "2.*"② 拷贝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views,可直接进行覆盖替换
2、进入后台 127.0.0.1/advanced/backend/web/ 查看效果
* 如果遇到页面不断刷新,可能是因为加载资源的时候在获取 google 的 css 资源
解决办法:删除加载 css 资源的那一行代码
3、url 美化
① 配置:backend/config/main.php 文件的 compontents"urlManager" => [
//用于表明 urlManager 是否启用URL美化功能
"enablePrettyUrl" => true,
// 是否在URL中显示入口脚本
"showScriptName" => false,
],② 下载附件中的 .htaccess 文件,放在 backend/web 目录下(这是为了隐藏 Index.php,apache必须要开启rewrite模块)或者自行创建 .htaccess 文件,下面是文件内容:#表示开启重写引擎
RewriteEngine on
#请求的文件或路径是不存在的,如果文件或路径存在将返回已经存在的文件或路径
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
二、安装 yii2-admin 集成 rbac
1、yii2-admin 是 yii2 rbac 的一套管理工具,实现了漂亮的界面和完整的权限管理功能
进入 cmd,切换到 advanced 目录,输入composer require mdmsoft/yii2-admin "2.x-dev"2、配置 backend/config/main.php 文件return [
// ......
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
],
],
'aliases' => [
'@mdm/admin' => '@vendor/mdmsoft/yii2-admin',
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
//这里是允许访问的action
//controller/action
// * 表示允许所有,后期会介绍这个
'*'
]
],
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['guest'],
],
// ......
],
];3、导入 rbac 表格
执行.sql 文件:vendor\yiisoft\yii2\rbac\migrations\schema-mysql.sql (附件中提供)
或按照下面你操作步骤执行:
① 打开 console/config/main.php ,在 'components' => , 数组中添加下面代码:'authManager' => [ 'class' => 'yii\rbac\DbManager', ],
② 执行命令:yii migrate --migrationPath=@yii/rbac/migrations
4、运行 127.0.0.1/advanced/backend/web/admin/route 预览效果
附录:
默认的yii2-adminlte是蓝色主题,可以按照下面的方式配置主题① 打开backend\config\main.php 在components中添加assetManager
'components' => [
'assetManager' => [
'bundles' => [
'dmstr\web\AdminLteAsset' => [
'skin' => 'skin-red',
],
],
],
],
② 打开 backend\views\layouts\main.php,找到body将其class修改如下
<body class="hold-transition <?= \dmstr\helpers\AdminLteHelper::skinClass() ?> sidebar-mini">受ACF的影响,我们暂时看不出来什么,打开backend\controllers\SiteController.php文件,暂时先屏蔽掉 behaviors 方法的 access 部分,至于是什么意思,后面到了该讲的时候我们会说,现在就先把模版框架搭建好。如此一来,我们刷新下site/index看看,是不是有不同样式的主题了呢?其中配置文件中的skin还有下面的其他样式,随便替换,喜欢哪个用哪个,只需要简单的配置即可。(鸿宇还没配置过yellow的主题色,赶紧尝试了一把)"skin-blue",
"skin-black",
"skin-red",
"skin-yellow",
"skin-purple",
"skin-green",
"skin-blue-light",
"skin-black-light",
"skin-red-light",
"skin-yellow-light",
"skin-purple-light",
"skin-green-light"这不就简单的搭建好了我们的管理后台,样式也都是很ok。如果你需要更多的关于该模版的样式,请浏览器中打开 vendor\almasaeed2010\adminlte\index.html 文件进行参考,涵盖你想要的。
查看全部
1、利用 AdminLTE 渲染后台模板
AdminLTE 是一个完全响应管理模板。基于 Bootstrap3 框架,易定制模板。适合多种屏幕分辨率,从小型移动设备到大型台式机。内置了多个页面,包括仪表盘、邮箱、日历、锁屏、登录及注册、404错误、500错误等页面。
① 进入 cmd,切换到 advanced 目录,输入
composer require dmstr/yii2-adminlte-asset "2.*"② 拷贝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views,可直接进行覆盖替换
2、进入后台 127.0.0.1/advanced/backend/web/ 查看效果
* 如果遇到页面不断刷新,可能是因为加载资源的时候在获取 google 的 css 资源
解决办法:删除加载 css 资源的那一行代码
3、url 美化
① 配置:backend/config/main.php 文件的 compontents
"urlManager" => [② 下载附件中的 .htaccess 文件,放在 backend/web 目录下(这是为了隐藏 Index.php,apache必须要开启rewrite模块)或者自行创建 .htaccess 文件,下面是文件内容:
//用于表明 urlManager 是否启用URL美化功能
"enablePrettyUrl" => true,
// 是否在URL中显示入口脚本
"showScriptName" => false,
],
#表示开启重写引擎
RewriteEngine on
#请求的文件或路径是不存在的,如果文件或路径存在将返回已经存在的文件或路径
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
二、安装 yii2-admin 集成 rbac
1、yii2-admin 是 yii2 rbac 的一套管理工具,实现了漂亮的界面和完整的权限管理功能
进入 cmd,切换到 advanced 目录,输入
composer require mdmsoft/yii2-admin "2.x-dev"2、配置 backend/config/main.php 文件
return [3、导入 rbac 表格
// ......
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
],
],
'aliases' => [
'@mdm/admin' => '@vendor/mdmsoft/yii2-admin',
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
//这里是允许访问的action
//controller/action
// * 表示允许所有,后期会介绍这个
'*'
]
],
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['guest'],
],
// ......
],
];
执行.sql 文件:vendor\yiisoft\yii2\rbac\migrations\schema-mysql.sql (附件中提供)
或按照下面你操作步骤执行:
① 打开 console/config/main.php ,在 'components' => , 数组中添加下面代码:
'authManager' => [ 'class' => 'yii\rbac\DbManager', ],
② 执行命令:
yii migrate --migrationPath=@yii/rbac/migrations
4、运行 127.0.0.1/advanced/backend/web/admin/route 预览效果
附录:
默认的yii2-adminlte是蓝色主题,可以按照下面的方式配置主题
① 打开backend\config\main.php 在components中添加assetManager受ACF的影响,我们暂时看不出来什么,打开backend\controllers\SiteController.php文件,暂时先屏蔽掉 behaviors 方法的 access 部分,至于是什么意思,后面到了该讲的时候我们会说,现在就先把模版框架搭建好。如此一来,我们刷新下site/index看看,是不是有不同样式的主题了呢?其中配置文件中的skin还有下面的其他样式,随便替换,喜欢哪个用哪个,只需要简单的配置即可。(鸿宇还没配置过yellow的主题色,赶紧尝试了一把)
'components' => [
'assetManager' => [
'bundles' => [
'dmstr\web\AdminLteAsset' => [
'skin' => 'skin-red',
],
],
],
],
② 打开 backend\views\layouts\main.php,找到body将其class修改如下
<body class="hold-transition <?= \dmstr\helpers\AdminLteHelper::skinClass() ?> sidebar-mini">
"skin-blue",这不就简单的搭建好了我们的管理后台,样式也都是很ok。如果你需要更多的关于该模版的样式,请浏览器中打开 vendor\almasaeed2010\adminlte\index.html 文件进行参考,涵盖你想要的。
"skin-black",
"skin-red",
"skin-yellow",
"skin-purple",
"skin-green",
"skin-blue-light",
"skin-black-light",
"skin-red-light",
"skin-yellow-light",
"skin-purple-light",
"skin-green-light"
Yii2 - (二)Yii2.0 框架初始化操作
Yii2.0 • 鸿宇 发表了文章 • 0 个评论 • 2559 次浏览 • 2016-10-15 19:51
[]Windows 下直接单击运行 advanced/init.bat,输入 0 选择开发环境,然后再输入 yes 生成配置文件[/]
[]Linux 下,执行命令进入 advanced 目录,输入php init然后,输入 0 ,再输入 yes 即可。[/]
二、配置数据库文件 advanced/common/main-local.php,输入数据库账号和密码<?php
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
],
// ......
],
];
三、新建数据库 advanced,然后新建 user 用户表CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "自增ID",
`username` varchar(255) NOT NULL COMMENT "用户名",
`auth_key` varchar(32) NOT NULL COMMENT "自动登录key",
`password_hash` varchar(255) NOT NULL COMMENT "加密密码",
`password_reset_token` varchar(255) DEFAULT NULL COMMENT "重置密码token",
`email` varchar(255) NOT NULL COMMENT "邮箱",
`role` smallint(6) NOT NULL DEFAULT "10" COMMENT "角色等级",
`status` smallint(6) NOT NULL DEFAULT "10" COMMENT "状态",
`created_at` int(11) NOT NULL COMMENT "创建时间",
`updated_at` int(11) NOT NULL COMMENT "更新时间",
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT="用户表";或者执行命令:
yii migrate
附录:
安装成功后,进行程序测试
前台地址: 127.0.0.1/advanced/frontend/web/ ,进入前台后点击 Signup 注册用户
后台地址:127.0.0.1/advanced/backend/web,进入后台登录用户
实战开发所需的基本配置<?php
return [
'components' => [
// 配置缓存
'cache' => [
'class' => 'yii\caching\FileCache',
],
// 配置数据库
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=advanced',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'tablePrefix' => 'yii_',
'enableSchemaCache' => true,
'schemaCacheDuration' => 24*3600,
'schemaCache' => 'cache',
],
],
// 配置语言
'language'=>'zh-CN',
// 配置时区
'timeZone'=>'Asia/Shanghai',
]; 查看全部
- []Windows 下直接单击运行 advanced/init.bat,输入 0 选择开发环境,然后再输入 yes 生成配置文件[/]
- []Linux 下,执行命令进入 advanced 目录,输入
php init然后,输入 0 ,再输入 yes 即可。[/]
二、配置数据库文件 advanced/common/main-local.php,输入数据库账号和密码
<?php
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
],
// ......
],
];
三、新建数据库 advanced,然后新建 user 用户表
CREATE TABLE `user` (或者执行命令:
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "自增ID",
`username` varchar(255) NOT NULL COMMENT "用户名",
`auth_key` varchar(32) NOT NULL COMMENT "自动登录key",
`password_hash` varchar(255) NOT NULL COMMENT "加密密码",
`password_reset_token` varchar(255) DEFAULT NULL COMMENT "重置密码token",
`email` varchar(255) NOT NULL COMMENT "邮箱",
`role` smallint(6) NOT NULL DEFAULT "10" COMMENT "角色等级",
`status` smallint(6) NOT NULL DEFAULT "10" COMMENT "状态",
`created_at` int(11) NOT NULL COMMENT "创建时间",
`updated_at` int(11) NOT NULL COMMENT "更新时间",
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT="用户表";
yii migrate
附录:
安装成功后,进行程序测试
前台地址: 127.0.0.1/advanced/frontend/web/ ,进入前台后点击 Signup 注册用户
后台地址:127.0.0.1/advanced/backend/web,进入后台登录用户
实战开发所需的基本配置
<?php
return [
'components' => [
// 配置缓存
'cache' => [
'class' => 'yii\caching\FileCache',
],
// 配置数据库
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=advanced',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'tablePrefix' => 'yii_',
'enableSchemaCache' => true,
'schemaCacheDuration' => 24*3600,
'schemaCache' => 'cache',
],
],
// 配置语言
'language'=>'zh-CN',
// 配置时区
'timeZone'=>'Asia/Shanghai',
];
Yii2 - (一)通过 Composer 安装 Yii2.0 框架
Yii2.0 • 鸿宇 发表了文章 • 0 个评论 • 2172 次浏览 • 2016-10-15 19:17
① 下载之后直接运行进行安装,安装过程需要选择你的 php 可执行文件,如下图所示(*记得提前在php版本对应的php.ini文件中,开启 php_openssl 扩展):
② 如果安装失败,请开启对应的 PHP 版本的 php_openssl
③ 安装完Composer,运行下面的命令来安装Composer Asset插件:它是通过 Composer 管理 bower 和 npm 包所必须的,此命令全局生效,一劳永逸。进入 cmd,输入:composer global require "fxp/composer-asset-plugin:^1.3.1"
④ 进入 cmd 输入 composer 查看是否安装成功,下图是安装成功界面
二、安装 Yii2.0 框架
① 执行下面命令 或 将附件中 composer.phar 放入你的项目文件夹中 :php -r "readfile('http://getcomposer.org/installer');" | php
php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"
② 现在选择的应用程序模板之一,开始安装 Yii 2.0。应用程序模板是一个包含Yii写的骨架Web应用程序包。
* 安装基本的应用程序模板,运行下面的命令:php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.11
* 安装高级的应用程序模板,运行下面的命令:php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.11
composer create-project yiisoft/yii2-app-advanced advanced 2.0.11
* 鸿宇常用安装命令:进入项目目录,依次执行下面命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer create-project yiisoft/yii2-app-advanced advanced 2.0.11
③ 请注意,您可能会被提示安装过程中输入你的 GitHub 的用户名和密码。这是正常的。只要输入它们并继续。
进入 https://github.com/settings/tokens 点击 「Generate new token」 新建一个 Token,选择默认新建就行,然后就会得到一个 Token,然后输入这个值就 OK 了。
④ 进入advanced 目录 执行 php init 命令,然后输入 0 ,再输入 yes 即可。
附录: Composer 使用方法
① 环境是搭建好了,但是我们仍然需要手动composer install,composer update,这些肯定是少不了的。相信大多数点开这篇教程的人都是composer安装失败,那这样,就教你一招,在你的命令行下面执行composer config -g repo.packagist composer https://packagist.phpcomposer.com什么意思呢?意思就是全局启用packagist镜像。有兴趣的可以搜一搜,这样你再composer self-update看看,速度是不是变快了呢!
② 注:更新 yii2 ,进入 cmd ,切换目录到 advanced,输入composer update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask
③ Composer 中文使用教程http://docs.phpcomposer.com/00-intro.html
④ 全局安装 Composer
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
Windows 系统:
[]找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。[/][]将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。[/][[i]]在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。@php "%~dp0composer.phar" %[/i]最后重新打开一个命令行窗口试一试执行composer --version[/*]看看是否正确输出版本号。
⑤ 友情提示
提示:不要忘了经常执行composer selfupdate
以保持 Composer 一直是最新版本哦!
附录
查看 composer 的全局配置信息composer config -l -g
更改 composer 镜像地址中国镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
国外镜像
composer config -g repo.packagist composer https://packagist.org
Composer 全局安装curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Linux 安装 Yii2 文件夹权限问题
进入项目文件夹, 执行如下命令:chmod -R 777 .
临时改变CentOS系统php全局变量# export PATH=[php bin位置]:$PATH
康乐php7示例# export PATH=/vhs/kangle/ext/tpl_php709/bin:$PATH
Linux Yii2 初始化# php init
查看全部
① 下载之后直接运行进行安装,安装过程需要选择你的 php 可执行文件,如下图所示(*记得提前在php版本对应的php.ini文件中,开启 php_openssl 扩展):
② 如果安装失败,请开启对应的 PHP 版本的 php_openssl
③ 安装完Composer,运行下面的命令来安装Composer Asset插件:它是通过 Composer 管理 bower 和 npm 包所必须的,此命令全局生效,一劳永逸。进入 cmd,输入:
composer global require "fxp/composer-asset-plugin:^1.3.1"
④ 进入 cmd 输入 composer 查看是否安装成功,下图是安装成功界面
二、安装 Yii2.0 框架
① 执行下面命令 或 将附件中 composer.phar 放入你的项目文件夹中 :
php -r "readfile('http://getcomposer.org/installer');" | php
php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"
② 现在选择的应用程序模板之一,开始安装 Yii 2.0。应用程序模板是一个包含Yii写的骨架Web应用程序包。
* 安装基本的应用程序模板,运行下面的命令:
php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.11
* 安装高级的应用程序模板,运行下面的命令:
php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.11
composer create-project yiisoft/yii2-app-advanced advanced 2.0.11
* 鸿宇常用安装命令:
进入项目目录,依次执行下面命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer create-project yiisoft/yii2-app-advanced advanced 2.0.11
③ 请注意,您可能会被提示安装过程中输入你的 GitHub 的用户名和密码。这是正常的。只要输入它们并继续。
进入 https://github.com/settings/tokens 点击 「Generate new token」 新建一个 Token,选择默认新建就行,然后就会得到一个 Token,然后输入这个值就 OK 了。
④ 进入advanced 目录 执行 php init 命令,然后输入 0 ,再输入 yes 即可。
附录: Composer 使用方法
① 环境是搭建好了,但是我们仍然需要手动composer install,composer update,这些肯定是少不了的。相信大多数点开这篇教程的人都是composer安装失败,那这样,就教你一招,在你的命令行下面执行
composer config -g repo.packagist composer https://packagist.phpcomposer.com什么意思呢?意思就是全局启用packagist镜像。有兴趣的可以搜一搜,这样你再composer self-update看看,速度是不是变快了呢!
② 注:更新 yii2 ,进入 cmd ,切换目录到 advanced,输入
composer update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask
③ Composer 中文使用教程
http://docs.phpcomposer.com/00-intro.html
④ 全局安装 Composer
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
Windows 系统:
- []找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。[/][]将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。[/][[i]]在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。
@php "%~dp0composer.phar" %[/i]
最后重新打开一个命令行窗口试一试执行composer --version[/*]
⑤ 友情提示
提示:不要忘了经常执行
composer selfupdate
以保持 Composer 一直是最新版本哦!
附录
查看 composer 的全局配置信息
composer config -l -g
更改 composer 镜像地址
中国镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
国外镜像
composer config -g repo.packagist composer https://packagist.org
Composer 全局安装
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Linux 安装 Yii2 文件夹权限问题
进入项目文件夹, 执行如下命令:
chmod -R 777 .
临时改变CentOS系统php全局变量
# export PATH=[php bin位置]:$PATH
康乐php7示例
# export PATH=/vhs/kangle/ext/tpl_php709/bin:$PATH
Linux Yii2 初始化
# php init
解决ECshop导入淘宝数据包乱码问题方法
鸿宇教程库 • 鸿宇 发表了文章 • 0 个评论 • 2105 次浏览 • 2016-09-11 11:41
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
ECshop在导入淘宝数据包的时候出现数据乱码。 测试版本 ecshop2.73 利用淘宝助手导出一个数据包(.csv),不要一次全部商品导出,最好是将数据包控制在1M左右,因为ecshop对上传文件有限制...
ECshop在导入淘宝数据包的时候出现数据乱码。
测试版本 ecshop2.73
利用淘宝助手导出一个数据包(.csv),不要一次全部商品导出,最好是将数据包控制在1M左右,因为ecshop对上传文件有限制。
1、用编辑器打开文件goods_batch.php,文件在admin文件夹下,找到
$data=file($_FILES['file']['tmp_name']);并将此行注释掉。在下边加上 $data0=mb_convert_encoding(file_get_contents($_FILES['file']['tmp_name'])," utf-8","UTF-16LE");注:utf-8是ecshop的版本编码,如果是gbk则这里是gbk
2、继续添加代码$data=str_replace("\\"\\"","\\"",$data0);
$data=explode('鸿宇多用户商城,$data);鸿宇多用户商城是店铺的名字,将这个换成你店铺的名字即可。
3、这里开始要特别注意,因为csv文件的开头有一部分说明,所以要针对首行特别处理。if($k==0){
$goods_name_arr = explode('"',$line_list[98]);
$goods_name = $goods_name_arr[1];
$shop_price = $line_list[105];
$goods_number = $line_list[107];
$imgsstr = $line_list[126];
$goods_desc =str_replace("\\"","'",substr($line_list[118],1,strlen($line_list[118])-2));
}else{$goods_name_arr = explode('"',$line_list[10]);
$goods_name = $goods_name_arr[1];
//$goods_name = trim($line_list[10],'"');
$shop_price = $line_list[17];
$goods_number = $line_list[19];
$imgsstr = $line_list[38];
$goods_desc = str_replace("\\"","'",substr($line_list[30],1,strlen($line_list[30])-2));
}这里的$line_list[]可能会因为店铺商品属性不一样导致数据提取错误,可以先print_r($line_list)然后修改错误的数组下标。
4、到了这里数据的提取基本上完成了,下面就要对提取的数据进行处理并赋值给数组。其实也只是图片的数据需要处理一下,具体如下:$imgasd=str_replace("\\"","",$imgsstr);
$imgasd=explode(";",$imgasd);
foreach($imgasd as $ks=>$vs){
if($ks!=count($imgasd)-1){
$nv=explode("|",$vs);
$in=explode(":",$nv[0]);
$imgs_u.=$in[0].".jpg;";
}
}
$arr['original_img'] = $imgs_u;5、最后要处理的数据就是图片的路径。找到
if (!empty($field_arr['original_img']))
的位置,由这里开始注释,一直到//修改商品图这里,然后再注释//添加商品相册图下面的if代码。
6.附录:非技术人员请谨慎修改.可将按照此教程是否导入成功,或者问题在本文下面回复. 查看全部
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
ECshop在导入淘宝数据包的时候出现数据乱码。 测试版本 ecshop2.73 利用淘宝助手导出一个数据包(.csv),不要一次全部商品导出,最好是将数据包控制在1M左右,因为ecshop对上传文件有限制...
ECshop在导入淘宝数据包的时候出现数据乱码。
测试版本 ecshop2.73
利用淘宝助手导出一个数据包(.csv),不要一次全部商品导出,最好是将数据包控制在1M左右,因为ecshop对上传文件有限制。
1、用编辑器打开文件goods_batch.php,文件在admin文件夹下,找到
$data=file($_FILES['file']['tmp_name']);并将此行注释掉。在下边加上
$data0=mb_convert_encoding(file_get_contents($_FILES['file']['tmp_name'])," utf-8","UTF-16LE");注:utf-8是ecshop的版本编码,如果是gbk则这里是gbk
2、继续添加代码
$data=str_replace("\\"\\"","\\"",$data0);鸿宇多用户商城是店铺的名字,将这个换成你店铺的名字即可。
$data=explode('鸿宇多用户商城,$data);
3、这里开始要特别注意,因为csv文件的开头有一部分说明,所以要针对首行特别处理。
if($k==0){这里的$line_list[]可能会因为店铺商品属性不一样导致数据提取错误,可以先print_r($line_list)然后修改错误的数组下标。
$goods_name_arr = explode('"',$line_list[98]);
$goods_name = $goods_name_arr[1];
$shop_price = $line_list[105];
$goods_number = $line_list[107];
$imgsstr = $line_list[126];
$goods_desc =str_replace("\\"","'",substr($line_list[118],1,strlen($line_list[118])-2));
}else{$goods_name_arr = explode('"',$line_list[10]);
$goods_name = $goods_name_arr[1];
//$goods_name = trim($line_list[10],'"');
$shop_price = $line_list[17];
$goods_number = $line_list[19];
$imgsstr = $line_list[38];
$goods_desc = str_replace("\\"","'",substr($line_list[30],1,strlen($line_list[30])-2));
}
4、到了这里数据的提取基本上完成了,下面就要对提取的数据进行处理并赋值给数组。其实也只是图片的数据需要处理一下,具体如下:
$imgasd=str_replace("\\"","",$imgsstr);5、最后要处理的数据就是图片的路径。找到
$imgasd=explode(";",$imgasd);
foreach($imgasd as $ks=>$vs){
if($ks!=count($imgasd)-1){
$nv=explode("|",$vs);
$in=explode(":",$nv[0]);
$imgs_u.=$in[0].".jpg;";
}
}
$arr['original_img'] = $imgs_u;
if (!empty($field_arr['original_img']))
的位置,由这里开始注释,一直到//修改商品图这里,然后再注释//添加商品相册图下面的if代码。
6.附录:非技术人员请谨慎修改.可将按照此教程是否导入成功,或者问题在本文下面回复.
商品分类树图标的修改
新手专区 • luochengtong 回复了问题 • 4 人关注 • 3 个回复 • 4444 次浏览 • 2016-09-06 22:31
错误1114:The table ‘ecs_sessions’ is full 处理方法
新手专区 • Spider 发表了文章 • 0 个评论 • 2066 次浏览 • 2016-09-05 09:52
根据网站访问量的大小来定,访问量越大设置的越小,访问量越小,反之。
ECshop小京东 - 服务器Windows系统, 手机端后台微信设置不能保存问题
鸿宇教程库 • 鸿宇 发表了文章 • 0 个评论 • 3852 次浏览 • 2016-08-24 16:41
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
解决方案:将 mobile/data/config.php 数据库配置文件中localhost修改为127.0.0.1即可
特别注意:先检查PHP版本是否为php5.3,如果不是,请切换为php5.3版本,然后再看看是否能正常保存,如果不行,在尝试下面的方法,切记!
打开 mobile/data/config.php$db_host = "localhost:3306";修改为$db_host = "127.0.0.1:3306"; 查看全部
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
解决方案:将 mobile/data/config.php 数据库配置文件中localhost修改为127.0.0.1即可
特别注意:先检查PHP版本是否为php5.3,如果不是,请切换为php5.3版本,然后再看看是否能正常保存,如果不行,在尝试下面的方法,切记!
打开 mobile/data/config.php
$db_host = "localhost:3306";修改为
$db_host = "127.0.0.1:3306";
ECshop小京东 - 优化手机号注册支持所有手机号
鸿宇教程库 • 鸿宇 发表了文章 • 0 个评论 • 3784 次浏览 • 2016-08-03 13:18
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
解决方案:改下手机号验证规则就行了,如下图所示(也可以下载附件直接覆盖根目录即可)
ECshop-小京东 修复用户付款成功后台订单依旧是未付款状态
鸿宇教程库 • 鸿宇 发表了文章 • 1 个评论 • 4287 次浏览 • 2016-07-26 11:21
官方论坛:hongyuvip.com
官方QQ群:90664526
解决问题:修复用户付款成功后台订单依旧是未付款状态
打开 根目录/respond.php 根目录/mobile/respond.php
$plugin_file = ROOT_PATH.'includes/modules/payment/' . $pay_code . '.php'; //64行
替换为
$plugin_file = 'includes/modules/payment/' . $pay_code . '.php';
if (file_exists($plugin_file)) 注释67行 //if (file_exists($plugin_file))
//if (file_exists(ROOT_PATH.$plugin_file)) 取消68行注释 if (file_exists(ROOT_PATH.$plugin_file)) 查看全部
官方论坛:hongyuvip.com
官方QQ群:90664526
解决问题:修复用户付款成功后台订单依旧是未付款状态
打开 根目录/respond.php 根目录/mobile/respond.php
$plugin_file = ROOT_PATH.'includes/modules/payment/' . $pay_code . '.php'; //64行
替换为
$plugin_file = 'includes/modules/payment/' . $pay_code . '.php';
if (file_exists($plugin_file)) 注释67行 //if (file_exists($plugin_file))
//if (file_exists(ROOT_PATH.$plugin_file)) 取消68行注释 if (file_exists(ROOT_PATH.$plugin_file))
ECshop小京东 - 闪退问题(已解决)
新手专区 • 鸿宇 回复了问题 • 2 人关注 • 1 个回复 • 4755 次浏览 • 2016-07-20 11:20