Skip to content

Commit

Permalink
Created interface to make custom store address formatting possible
Browse files Browse the repository at this point in the history
  • Loading branch information
jokeputs committed Sep 12, 2017
1 parent 3797563 commit 8004d37
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 4 deletions.
2 changes: 1 addition & 1 deletion app/code/Magento/Store/Model/Address/Renderer.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
/**
* Class Renderer used for formatting a store address
*/
class Renderer
class Renderer implements RendererInterface
{
/**
* @var EventManager
Expand Down
25 changes: 25 additions & 0 deletions app/code/Magento/Store/Model/Address/RendererInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

namespace Magento\Store\Model\Address;

use Magento\Framework\DataObject;

/**
* Interface RendererInterface
* @package Magento\Store\Model\Address
*/
interface RendererInterface
{
/**
* Format the store address in a specific way
*
* @param DataObject $storeInfo
* @param string $type
* @return string
*/
public function format(DataObject $storeInfo, $type = 'html');
}
10 changes: 7 additions & 3 deletions app/code/Magento/Store/Model/Information.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Magento\Directory\Model\CountryFactory;
use Magento\Directory\Model\RegionFactory;
use Magento\Framework\DataObject;
use Magento\Store\Model\Address\Renderer;
use Magento\Store\Model\Address\RendererInterface;

/**
* Store information class used to retrieve and format store information as set in store config
Expand Down Expand Up @@ -44,6 +44,10 @@ class Information
/**#@-*/

/**#@-*/

/**
* @var RendererInterface
*/
protected $renderer;

/**
Expand All @@ -57,12 +61,12 @@ class Information
protected $regionFactory;

/**
* @param Renderer $renderer
* @param RendererInterface $renderer
* @param RegionFactory $regionFactory
* @param CountryFactory $countryFactory
*/
public function __construct(
Renderer $renderer,
RendererInterface $renderer,
RegionFactory $regionFactory,
CountryFactory $countryFactory
) {
Expand Down
1 change: 1 addition & 0 deletions app/code/Magento/Store/etc/di.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<preference for="Magento\Framework\App\ScopeFallbackResolverInterface" type="Magento\Store\Model\ScopeFallbackResolver"/>
<preference for="Magento\Framework\App\ScopeTreeProviderInterface" type="Magento\Store\Model\ScopeTreeProvider"/>
<preference for="Magento\Framework\App\ScopeValidatorInterface" type="Magento\Store\Model\ScopeValidator"/>
<preference for="Magento\Store\Model\Address\RendererInterface" type="Magento\Store\Model\Address\Renderer"/>
<type name="Magento\Framework\App\Response\Http">
<plugin name="genericHeaderPlugin" type="Magento\Framework\App\Response\HeaderManager"/>
</type>
Expand Down

0 comments on commit 8004d37

Please sign in to comment.