divineomega/exiguous-ecommerce

Exiguous Ecommerce 是一个极简单的电商库,使用平面文件,采用极简主义方法。

v1.1.2 2018-04-04 15:45 UTC

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