Giter VIP home page Giter VIP logo

magento2-storeinfo's Introduction

Siteation - Magento 2 Store Info

Packagist Version Supported Magento Versions Hyvä Themes Supported License

The Magento2 StoreInfo module streamlines the process of integrating essential store information into your Magento 2 website. Traditionally, this information would be added via CMS Static Blocks or hardcoded into templates.

However, the StoreInfo module offers a more efficient method by directly accessing and retrieving values from the store information.

Key Features:

  • Simplified store information integration
  • Extends default Magento 2 store information
  • Additional fields for enhanced storefront presentation:
    • Extra Store phone number
    • WhatsApp number
    • Chamber of Commerce field

With the StoreInfo module, developers can easily enhance their Magento 2 storefronts with comprehensive and customizable store information.

Installation

Install the package via;

composer require siteation/magento2-storeinfo
bin/magento module:enable Siteation_StoreInfo

Note

This Module requires Magento 2.4 or higher! For more requirements see the composer.json.

How to use

The StoreInfo works out of the box by providing store information and store email addresses and displaying them on your storefront.

Admin Storefront
preview-1 preview-2

Besides this the Siteation Storeinfo also adds even more usefull fields under Stores > Configration > Siteation > StoreInfo.

Socials

Admin Storefront
preview-3 preview-4

Opening Hours

Admin Storefront
preview-5 preview-6

Notices

Admin Storefront
preview-7 preview-8

Get StoreInfo in your own Template blocks.

First get the viewModal in your template, using the following sample;

Hyva - Sample Phtml file head
<?php declare(strict_types=1);

use Hyva\Theme\Model\ViewModelRegistry;
use Magento\Framework\View\Element\Template;
use Magento\Framework\Escaper;
use Siteation\StoreInfo\ViewModel\StoreInfo;

/** @var ViewModelRegistry $viewModels */
/** @var Template $block */
/** @var Escaper $escaper */

/** @var StoreInfo $storeInfo */
$storeInfo = $viewModels->require(StoreInfo::class);
Luma - Sample Phtml file head

For Luma templates, see the previous sample for the xml needed to load the viewModal.

<?php declare(strict_types=1);

use Magento\Framework\View\Element\Template;
use Magento\Framework\Escaper;

/** @var Template $block */
/** @var Escaper $escaper */

/** @var Siteation\StoreInfo\ViewModel\StoreInfo $storeInfo */
$storeInfo = $block->getData('viewModelStoreInfo');

After this you can load any Magento StoreInfo field as text in your phtml;

<?php
// Get specific predefined store info field
$storeInfo->getPostcode();
$storeInfo->getSalesEmail();

// Get the same as above, using the global functions
$storeInfo->getStoreInfo('postcode'); // 'general/store_information/%s'
$storeInfo->getStoreEmail('email', 'ident_sales'); // 'trans_email/%2$s/%1$s'

magento2-storeinfo's People

Contributors

allrude avatar grimlink avatar jissereitsma avatar mgroensmit avatar poespas avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

magento2-storeinfo's Issues

Fix localization of storeinfo

The function Magento\Directory\Model\CountryInformationAcquirer::getCountryInfo checks the parameter $countryId against the collection of countries available to the current store, based on the 'allowed countries' config value.

This results in an exception if the country id in the 'general/store_information/country_id' config is not in the 'general/country/allow' list of countries.

Release v3

  • prepare release
  • new docs
    • readme
    • docs/installation
    • docs/config
    • screenshots
  • deprecate storeinfo-extra
    • add notice to readme
    • add notice to composer

More Store info

not really an issue but would be useful to get other store info such as Store ID, Store Code etc

Have a look at code improvments

for example this -

public function getRegion(): string
    {
        $id = $this->getRegionId();

        if (is_numeric($id)) {
            return (string) $this->getRegionNameById(intval($id));
        }

        return (string) $id;
    }

or this -

public function getRegion(): string
{
    $id = $this->getRegionId();

    return match(is_numeric($id)) {
        true => (string) $this->getRegionNameById(intval($id)),
        false => (string) $id,
    };
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.