exiguous ecommerce — это очень простая библиотека электронной коммерции, которая использует неструктурированные файлы и использует очень минималистичный подход.
Просто запустите следующую команду Composer, чтобы загрузить/установить exiguous ecommerce и создать соответствующие файлы автозагрузки.
composer require divineomega/exiguous-ecommerce
Если ваша платформа еще этого не делает, вы должны добавить require_once "vendor/autoload.php"
во все файлы, в которых вы хотите использовать exiguous ecommerce .
exiguous ecommerce хранит все свои данные в каталоге data
. В этом пакете представлен пример каталога data
.
Перед использованием вам следует скопировать каталог data
в другое место, а затем указать это место в среде вашего проекта. Если вы используете Laravel, это можно сделать, установив переменную EXIGUOUS_ECOMMERCE_DATA_DIRECTORY
в вашем файле .env
следующим образом.
EXIGUOUS_ECOMMERCE_DATA_DIRECTORY=/var/www/ecommerce-site/path-to-data-directory/
Если вы не используете платформу, поддерживающую это, вы можете использовать стандартную функцию PHP putenv
для установки этой переменной среды. Альтернативно вы можете использовать dotenv-loader, чтобы добавить поддержку файлов .env
в ваш проект.
Обратите внимание, что важно, чтобы переменная EXIGUOUS_ECOMMERCE_DATA_DIRECTORY
была установлена с косой чертой в конце.
Из соображений безопасности вам следует разместить каталог data
в месте, недоступном через Интернет. На случай, если каталог данных случайно окажется в доступном через Интернет месте, предоставляется файл .htaccess
, который должен запрещать веб-пользователям доступ к содержимому каталога в наиболее распространенных конфигурациях веб-сервера.
Получение товаров и категорий:
$ 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