divineomega / exiguous-ecommerce
Exiguous Ecommerce 是一个极简单的电商库,使用平面文件,采用极简主义方法。
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-06 08:57:20 UTC
README
Exiguous Ecommerce 是一个极简单的电商库,使用平面文件,采用极简主义方法。
安装
只需运行以下 Composer 命令即可下载/安装 Exiguous Ecommerce 并创建相关自动加载文件。
composer require divineomega/exiguous-ecommerce
如果您的框架尚未这样做,您必须将 require_once "vendor/autoload.php"
添加到您希望使用 Exiguous Ecommerce 的任何文件中。
配置
Exiguous Ecommerce 将所有数据存储在 data
目录中。本包提供了一个示例 data
目录。
在使用之前,您应将 data
目录复制到另一个位置,然后指定项目环境中的此位置。如果您正在使用 Laravel,可以通过在 .env
文件中设置 EXIGUOUS_ECOMMERCE_DATA_DIRECTORY
变量来完成此操作,如下所示。
EXIGUOUS_ECOMMERCE_DATA_DIRECTORY=/var/www/ecommerce-site/path-to-data-directory/
如果您不使用支持此功能的框架,可以使用标准的 PHP 函数 putenv
来设置此环境变量。或者,您可以使用 dotenv-loader 来为项目添加 .env
文件支持。
请注意,确保 EXIGUOUS_ECOMMERCE_DATA_DIRECTORY
变量以斜杠结尾。
出于安全原因,您应将 data
目录放置在不可通过 Web 访问的位置。如果意外地将数据目录放置在可访问的位置,提供了一个 .htaccess
文件,该文件应在大多数常见的 Web 服务器配置中拒绝用户访问目录内容。
快速入门示例
获取产品和类别
$category = \DivineOmega\ExiguousEcommerce\Category::findBySlug("fluffy-things"); $products = $category->products(); foreach($products as $product) { echo $product->data->name; }
$product = \DivineOmega\ExiguousEcommerce\Product::findBySlug("teddy-bear"); $categories = $product->categories(); $mainCategoryName = $categories[0]->data->name;
获取当前用户的购物车并添加产品到其中
$product = \DivineOmega\ExiguousEcommerce\Product::findBySlug("teddy-bear"); $basket = \DivineOmega\ExiguousEcommerce\Basket::findCurrent(); $basket->addProduct($product); // Add one Teddy Bear $basket->addProduct($product, 2); // Add another two Teddy Bears! var_dump($basket->items); // Outputs an array of, you guessed it, basket items! ^_^ // ^ This would show 1 basket item with a quantity of 3 teddy bears.
从购物车中删除产品
$product = \DivineOmega\ExiguousEcommerce\Product::findBySlug("teddy-bear"); $basket = \DivineOmega\ExiguousEcommerce\Basket::findCurrent(); $basket->removeProduct($product); // Removes all teddy bears from the basket
设置/偏移购物车中产品的数量
$product = \DivineOmega\ExiguousEcommerce\Product::findBySlug("teddy-bear"); $basket = \DivineOmega\ExiguousEcommerce\Basket::findCurrent(); $basket->addProduct($product); // Add one Teddy Bear $basket->setProductQuantity($product, 10); // Set the number of Teddy Bears in the basket to ten $basket->offsetProductQuantity($product, 10); // Add ten more Teddy Bears $basket->offsetProductQuantity($product, -5); // Remove five of those Teddy Bears
将购物车迁移到订单
$basket = \DivineOmega\ExiguousEcommerce\Basket::findCurrent(); $basket->convertToOrder();
获取和使用设置
// Retrieves settings from the core.json file within the .settings directory $coreSettings = \DivineOmega\ExiguousEcommerce\Settings::find('core'); echo $coreSettings->data->primaryCurrency; // Output the ecommerce's primary currency setting