prestashop / prestashop-accounts-installer
Utility package to install `ps_accounts` module or present data to trigger manual install from psx configuration page.
Installs: 86 675
Dependents: 3
Suggesters: 0
Security: 0
Stars: 3
Watchers: 9
Forks: 4
Open Issues: 0
Requires
- php: >=5.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- fzaninotto/faker: ^1.9
- phpunit/phpunit: ^5.7
- prestashop/php-dev-tools: 3.*
This package is auto-updated.
Last update: 2024-10-24 08:26:19 UTC
README
Utility package to install ps_accounts
module or present data to trigger manual install from psx configuration page.
This module also give you access to ps_accounts
services through its module service container dealing with the installation status of the module.
Compatibility Matrix
We aims to follow partially the Prestashop compatibility charts
Installation
This package is available on Packagist, you can install it via Composer.
composer require prestashop/prestashop-accounts-installer
Register as a service in your PSx container (recommended)
Example :
services: <your_module>.ps_accounts_installer: class: 'PrestaShop\PsAccountsInstaller\Installer\Installer' arguments: - '5.0.0' <your_module>.ps_accounts_facade: class: 'PrestaShop\PsAccountsInstaller\Installer\Facade\PsAccounts' arguments: - '@<your_module>.ps_accounts_installer'
The name under which you register both services in your service container must be unique to avoid collision with other modules including it.
The 5.0.0
specified argument is the minimum required ps_account
module version. You should modify it if you need another version.
How to use it
Installer
In your module main class install
method. (Will only do something on PrestaShop 1.7 and above)
$this->getService('ps_accounts.installer')->install();
Presenter
For example in your main module's class getContent
method.
Media::addJsDef([ 'contextPsAccounts' => $this->getService('ps_accounts.facade') ->getPsAccountsPresenter() ->present($this->name), ]);
This presenter will serve as default minimal presenter and switch to PsAccountsPresenter data when ps_accounts
module is installed.
Accessing PsAccounts Services
Installer class includes accessors to get instances of services from PsAccounts Module :
- getPsAccountsService
- getPsBillingService
The methods above will throw an exception in case ps_accounts
module is not installed or not in the required version.
Example :
use PrestaShop\PsAccountsInstaller\Installer\Exception\ModuleVersionException; use PrestaShop\PsAccountsInstaller\Installer\Exception\ModuleNotInstalledException; try { $psAccountsService = $this->getService('ps_accounts.facade')->getPsAccountsService(); $shopJwt = $psAccountsService->getOrRefreshToken(); $shopUuid = $psAccountsService->getShopUuid(); $apiUrl = $psAccountsService->getAdminAjaxUrl(); // Your code here } catch (ModuleNotInstalledException $e) { // You handle exception here } catch (ModuleVersionException $e) { // You handle exception here }