opengento / module-country-store
This module add the many countries to many stores relation and make it available to the storefront.
Fund package maintenance!
www.helloasso.com/associations/opengento/formulaires/1
Installs: 5 444
Dependents: 3
Suggesters: 0
Security: 0
Stars: 6
Watchers: 3
Forks: 1
Open Issues: 1
Type:magento2-module
Requires
- php: ^8.1
- magento/framework: *
- magento/module-config: *
- magento/module-customer: *
- magento/module-directory: *
- magento/module-store: *
- magento/module-theme: *
- psr/log: *
Requires (Dev)
- magento/magento-coding-standard: ^33
- roave/security-advisories: dev-latest
Suggests
- opengento/module-country-store-phone: This module add the phone number field to the country data object.
- opengento/module-country-store-redirect: This module will redirect the customers regarding their country of origin, on their first visit session.
- opengento/module-country-store-switcher: This module will allows the customers to switch of store by country instead of name/language.
README
This module add the many countries to many stores relation and make it available to the storefront.
Setup
Magento 2 Open Source or Commerce edition is required.
Composer installation
Run the following composer command:
composer require opengento/module-country-store
Setup the module
Run the following magento command:
bin/magento setup:upgrade
If you are in production mode, do not forget to recompile and redeploy the static resources.
Features
Country to store mapping
Define many countries to many stores relation. This configuration will allows Magento to map stores with countries.
Settings
The configuration for this module is available in Stores > Configuration > General > Country Store
.
Documentation
How to add a country resolver
Create a new final class and implements the following interface: Opengento\CountryStore\Api\CountryResolverInterface
.
The method public function getCountry(): CountryInterface
should return the default country depending of the context.
The country code should be compliant to ISO 3166-1 alpha-2 format.
Register the new country resolver in the method factory, Vendor/Module/etc/di.xml
:
<type name="Opengento\CountryStore\Model\Resolver\ResolverFactory"> <arguments> <argument name="countryResolvers" xsi:type="array"> <item name="customCountryResolver" xsi:type="string">Vendor\Module\Model\Country\Resolver\CustomCountryResolver</item> </argument> </arguments> </type>
If you want the resolver to be available in settings, add it to the resolver list, Vendor/Module/etc/di.xml
:
<virtualType name="Opengento\CountryStore\Model\Config\Source\CountryResolver"> <arguments> <argument name="options" xsi:type="array"> <item name="customCountryResolver" xsi:type="array"> <item name="label" xsi:type="string" translatable="true">Custom Country Resolver</item> <item name="value" xsi:type="const">Vendor\Module\Model\Country\Resolver\CustomCountryResolver::RESOLVER_CODE</item> </item> </argument> </arguments> </virtualType>
The country resolver is ready to use.
Support
Raise a new request to the issue tracker.
Authors
License
This project is licensed under the MIT License - see the LICENSE details.
That's all folks!