exiguous ecommerce é uma biblioteca de comércio eletrônico super simples, que usa arquivos simples e tem uma abordagem muito minimalista.
Basta executar o seguinte comando do Composer para baixar/instalar exiguous ecommerce e criar arquivos de carregamento automático relevantes.
composer require divineomega/exiguous-ecommerce
Se sua estrutura ainda não fizer isso, você deverá adicionar require_once "vendor/autoload.php"
a todos os arquivos nos quais deseja usar exiguous ecommerce .
exiguous ecommerce armazena todos os seus dados em um diretório data
. Um exemplo de diretório data
é fornecido neste pacote.
Antes de usar, você deve copiar o diretório data
para outro local e especificar esse local no ambiente do seu projeto. Se você estiver usando Laravel, isso pode ser feito definindo uma variável EXIGUOUS_ECOMMERCE_DATA_DIRECTORY
em seu arquivo .env
, como segue.
EXIGUOUS_ECOMMERCE_DATA_DIRECTORY=/var/www/ecommerce-site/path-to-data-directory/
Se você não estiver usando uma estrutura que suporte isso, você pode usar a função padrão do PHP putenv
para definir esta variável de ambiente. Alternativamente, você pode usar dotenv-loader para adicionar suporte ao arquivo .env
ao seu projeto.
Observe que é importante que a variável EXIGUOUS_ECOMMERCE_DATA_DIRECTORY
seja definida com uma barra final presente.
Por motivos de segurança, você deve colocar o diretório data
em um local que não seja acessível pela web. Caso o diretório de dados seja colocado acidentalmente em um local acessível pela web, um arquivo .htaccess
é fornecido que deve negar aos usuários da web acesso ao conteúdo do diretório nas configurações mais comuns de servidor web.
Obtendo produtos e categorias:
$ 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 ;
Obtendo a cesta do usuário atual e adicionando um produto a ela:
$ 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.
Removendo um produto da cesta:
$ product = DivineOmega ExiguousEcommerce Product:: findBySlug ( " teddy-bear " );
$ basket = DivineOmega ExiguousEcommerce Basket:: findCurrent ();
$ basket -> removeProduct ( $ product ); // Removes all teddy bears from the basket
Ajustar/compensar a quantidade de um produto no carrinho:
$ 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
Migrando a cesta para um pedido:
$ basket = DivineOmega ExiguousEcommerce Basket:: findCurrent ();
$ basket -> convertToOrder ();
Obtendo e usando configurações:
// 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