aimeos / aimeos-slim
专业的、功能齐全的、超快的 SlimPHP 电子商务包,适用于(经过电视批准的)在线商店
Requires
- php: >=5.4.0
- aimeos/ai-admin-jqadm: ~2020.01
- aimeos/ai-admin-jsonadm: ~2020.01
- aimeos/ai-client-html: ~2020.01
- aimeos/ai-client-jsonapi: ~2020.01
- aimeos/ai-controller-jobs: ~2020.01
- aimeos/ai-gettext: ~2020.01
- aimeos/ai-monolog: ~2020.01
- aimeos/ai-slim: ~2020.01
- aimeos/ai-swiftmailer: ~2020.01
- aimeos/ai-twig: ~2020.01
- aimeos/aimeos-core: ~2020.01
- akrabat/ip-address-middleware: ^0.5
- slim/slim: ~3.3
- slim/twig-view: ~2.0
Requires (Dev)
- php-coveralls/php-coveralls: ~2.0
- phpunit/phpunit: ~7.0||~8.0
- dev-master
- 2020.01.x-dev
- 2020.01.1
- 2019.10.x-dev
- 2019.10.1
- 2019.07.x-dev
- 2019.07.1
- 2019.04.x-dev
- 2019.04.1
- 2019.01.x-dev
- 2019.01.1
- 2018.10.x-dev
- 2018.10.2
- 2018.10.1
- 2018.07.x-dev
- 2018.07.1
- 2018.04.x-dev
- 2018.04.2
- 2018.04.1
- 2018.01.x-dev
- 2018.01.1
- 2017.10.x-dev
- 2017.10.1
- 2017.07.x-dev
- 2017.07.1
- 2017.04.x-dev
- 2017.04.3
- 2017.04.2
- 2017.04.1
- 2017.03.x-dev
- 2017.03.1
- 2017.02.x-dev
- 2017.01.x-dev
- 2017.01.1
- 2016.10.x-dev
- 2016.10.4
- 2016.10.3
- 2016.10.2
- 2016.10.1
- 2016.07.x-dev
- 2016.07.2
- 2016.07.1
- dev-scrutinizer-patch-2
- dev-scrutinizer-patch-1
This package is auto-updated.
Last update: 2021-07-23 22:38:09 UTC
README
Aimeos Slim 包
⭐ 在 GitHub 上关注我们——这很有帮助!
Aimeos 是 Laravel 的专业、功能齐全且高性能的电子商务包!您可以在5分钟内将其安装到现有的 SlimPHP 应用程序中,并且可以根据您的需求进行适应、扩展、覆盖和定制。
目录
安装或更新
本文档适用于 Aimeos SlimPHP 2019.10 版本及更高版本。
- Beta 版本:2020.01
- LTS 版本:2019.10
本教程假设目录布局与通过
composer create-project slim/slim-skeleton:~3.1 [my-app-name]
创建的 Slim 框架应用程序使用的布局相同。
"prefer-stable": true,
"minimum-stability": "dev",
"require": {
"aimeos/aimeos-slim": "~2019.10",
...
},
Aimeos 电子商务包是一个基于 Composer 的库,可以通过使用 Composer 最容易地安装。将这些行添加到您的 Slim 项目的 composer.json
文件中
之后,使用
composer update
cp vendor/aimeos/aimeos-slim/src/aimeos-settings.php src/
cp vendor/aimeos/aimeos-slim/src/aimeos-routes.php src/
安装 Aimeos 商店包
'resource' => [ 'db' => [ 'adapter' => 'mysql', 'host' => 'localhost', 'port' => '', 'socket' => '', 'database' => 'slim', 'username' => 'root', 'password' => '', 'stmt' => ["SET SESSION sort_buffer_size=2097144; SET NAMES 'utf8mb4'; SET SESSION sql_mode='ANSI'"], 'opt-persistent' => 0, 'limit' => 3, 'defaultTableOptions' => [ 'charset' => 'utf8mb4', 'collate' => 'utf8mb4_bin', ], ], ],
下一步是将所需的配置和路由文件 复制到您的 src/ 目录中,以便您有一个可以按需修改的副本。当您从旧版本升级时,您应该备份这些文件。然后,您可以将过去所做的更改重新应用到更新后的文件中。
要配置您的数据库,您必须 调整 src/aimeos-settings.php 文件中的配置 并修改资源部分中的设置
如果您没有安装至少 MySQL 5.7,您可能会遇到如下错误
'resource' => [ 'db' => [ // ... 'defaultTableOptions' => [ 'charset' => 'utf8', 'collation' => 'utf8_bin' ], ], ],
指定的键太长;最大键长度为 767 字节
要绕过此问题,在安装 Aimeos 之前将 src/aimeos-settings.php 中的字符集/校对设置更改到以下值
php vendor/aimeos/aimeos-core/setup.php --config=src/aimeos-settings.php --option=setup/default/demo:1
如果您想使用除 MySQL 之外的其他数据库服务器,请参阅有关 支持数据库服务器 及其特定配置的文章。
通过以下方式在数据库中设置或升级现有表
cp -r vendor/aimeos/aimeos-slim/templates/* templates/
在生产环境或您不想添加演示数据时,请省略 --option=setup/default/demo:1
选项。
mkdir -p public/aimeos/themes/
cp -r vendor/aimeos/aimeos-slim/resources/mimeicons/ public/aimeos/
cp -r ext/ai-client-html/client/html/themes/* public/aimeos/themes/
cp -r ext/ai-admin-jqadm/admin/jqadm/themes/* public/aimeos/themes/
您还必须将 Aimeos 模板 复制到您的 Slim 应用程序的 templates/
目录中。这样,您就可以根据需要修改它们,并且它们不会被下一个 Composer 更新覆盖。
最后一步是将 Aimeos 主题文件 发布到 public/
目录,以便通过 HTTP 访问它们。
$app = new \Slim\App($settings); $aimeos = new \Aimeos\Slim\Bootstrap( $app, require '../src/aimeos-settings.php' ); $aimeos->setup( '../ext' )->routes( '../src/aimeos-routes.php' ); // Set up dependencies
“Aimeos Slim”包使用Twig模板引擎来渲染模板。因此,您需要使用配置好的Twig实例来设置view对象
。在您的src/dependencies.php
文件末尾复制以下行
// Twig view + Aimeos templates $container['view'] = function ($c) { $conf = ['cache' => '../cache']; $view = new \Slim\Views\Twig(__DIR__ . '/../templates', $conf); $view->addExtension(new \Slim\Views\TwigExtension($c->get('router'), $c->get('request')->getUri())); return $view; };
注意:如果您将现有模板重新实现为PHP,也可以使用Slim PHP模板引擎,但Twig有一个主要优势:模板可以从一个公共基模板继承,因此您不需要将整个HTML页面复制到每个模板中。
注意:在src/routes.php
中,Slim框架的基本应用包含一个/[{name}]
路由,您需要首先将其删除。它太通用,会遮盖Aimeos的路由!
然后,您应该能够在浏览器中调用目录列表页面。为了快速入门,您可以使用自PHP 5.4以来可用的集成Web服务器。只需在您的应用程序的根目录中执行以下命令
php -S 127.0.0.1:8000 -t public
使用以下方法将浏览器指向商店的列表页面
自2019年04月起:http://127.0.0.1:8000/shop;至2019年01月:http://127.0.0.1:8000/list
管理界面
Aimeos Slim PHP框架包还包含一个管理界面,用于管理产品和其它内容。如果内部PHP Web服务器(php -S 127.0.0.1:8000 -t public
)仍在运行,您可以在以下位置找到它
注意:使用密码或其它形式的认证来保护管理界面非常重要!
最简单的方法是向所有/admin
URL添加HTTP基本认证(浏览器会要求用户名和密码)。在Slim中,有一个中间件可以添加到您的应用程序中。要安装它,在应用程序目录中通过命令行执行以下命令
composer require tuupola/slim-basic-auth
然后,修改您的public/index.php
文件,并在$app->run()
之前添加以下行
$app->add(new \Tuupola\Middleware\HttpBasicAuthentication([ "realm" => "Aimeos administration", "path" => "/admin", "users" => [ "admin" => "secret", ], ]));
注意:“users”数组可以包含用户名/密码组合列表,您需要使用一个非常秘密的密码
!
提示
为了简化开发,您应该配置以使用无内容缓存。您可以在Slim应用程序的src/aimeos-settings.php
文件中添加以下行来实现这一点
'madmin' => array( 'cache' => array( 'manager' => array( 'name' => 'None', ), ), ),
如果启用了缓存,当您更改配置设置等时,必须执行以下命令来清除缓存
php vendor/aimeos/aimeos-slim/cache.php --config=src/aimeos-settings.php
许可证
Aimeos Slim包在LGPLv3许可证的条款下授权,并可免费使用。