Download the PHP package justbetter/laravel-magento-prices without Composer

On this page you can find all versions of the php package justbetter/laravel-magento-prices. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-magento-prices

Laravel Magento Prices

Tests Coverage Analysis Total downloads

Package to send prices to Magento from a Laravel application using a configurable source.

Features

The idea is that we want to push prices to Magento but we do not want to rewrite the logic of keeping track and updating prices to Magento. This package can:

Also using customer specific prices? See our other package! We also have a Magento Client to easily connect Laravel to Magento!

Installation

Require this package: composer require justbetter/laravel-magento-prices

Publish the config: php artisan vendor:publish --provider="JustBetter\MagentoPrices\ServiceProvider" --tag="config"

Publish the activity log's migrations: php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations"

Run migrations. php artisan migrate

TIP: All actions in this package are run via jobs, we recommend Laravel Horizon or another queueing system to run these

Laravel Nova

We have a Laravel Nova integration for this package.

Usage

Add the following commands to your scheduler:

Retrieving Prices

This package works with a repository that retrieves prices per SKU which you have to implement.

Repository

This class is responsible for retrieving prices for products, retrieving sku's and settings. Your class must extend \JustBetter\MagentoPrices\Repository\Repository and implement the retrieve method. If there is no price for the SKU you may return null. In all other cases you need to return a PriceData object which contains four elements:

The formats of the price arrays follows Magento's API. You can view the rules in the PriceData class to get an idea of what you need to provide.

Example

Retrieving SKU's

By default, the Repository that you are extending will retrieve the SKU's from justbetter/laravel-magento-products. If you wish to use this you have to add the commands to your scheduler to automatically import products.

If you have another source for your SKU's you may implement the skus method yourself. It accepts an optional carbon instance to only retrieve modified stock.

Configuring the repository

The repository class has a couple of settings that you can adjust:

After you've created and configured the repository you have to set it in your configuration file:

Checking for missing prices

There is a build in action that checks all products in Magento where there is no price or the price is zero. For each product it will automatically start an update or retrieve.

You can run this with the command: php artisan magento-prices:process-missing-prices

Handling failures

When an update fails it will try again. A fail counter is stored with the model which is increased at each failure. In the repository you can specify how many times the update may be attempted

Events

Events that are dispatched by this package are:

Async bulk

In order to drastically decrease the amount of requests to Magento you can enable the async option in the configuration file. This will use Laravel Magento Async to send the update requets. Do not forget to follow the installation guide on that package.

Quality

To ensure the quality of this package, run the following command:

This will execute three tasks:

  1. Makes sure all tests are passed
  2. Checks for any issues using static code analysis
  3. Checks if the code is correctly formatted

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of laravel-magento-prices with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
justbetter/laravel-magento-async Version ^1.0
justbetter/laravel-magento-client Version ^2.6.1
justbetter/laravel-magento-products Version ^1.7
laravel/framework Version ^11.0|^12.0
spatie/laravel-activitylog Version ^4.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package justbetter/laravel-magento-prices contains the following files

Loading the files please wait ....