| Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-customer/Block/Widget/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/module-customer/Block/Widget/AbstractWidget.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Customer\Block\Widget;
use Magento\Customer\Api\CustomerMetadataInterface;
class AbstractWidget extends \Magento\Framework\View\Element\Template
{
/**
* @var CustomerMetadataInterface
*/
protected $customerMetadata;
/**
* @var \Magento\Customer\Helper\Address
*/
protected $_addressHelper;
/**
* @param \Magento\Framework\View\Element\Template\Context $context
* @param \Magento\Customer\Helper\Address $addressHelper
* @param CustomerMetadataInterface $customerMetadata
* @param array $data
*/
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Customer\Helper\Address $addressHelper,
CustomerMetadataInterface $customerMetadata,
array $data = []
) {
$this->_addressHelper = $addressHelper;
$this->customerMetadata = $customerMetadata;
parent::__construct($context, $data);
$this->_isScopePrivate = true;
}
/**
* @param string $key
* @return null|string
*/
public function getConfig($key)
{
return $this->_addressHelper->getConfig($key);
}
/**
* @return string
*/
public function getFieldIdFormat()
{
if (!$this->hasData('field_id_format')) {
$this->setData('field_id_format', '%s');
}
return $this->getData('field_id_format');
}
/**
* @return string
*/
public function getFieldNameFormat()
{
if (!$this->hasData('field_name_format')) {
$this->setData('field_name_format', '%s');
}
return $this->getData('field_name_format');
}
/**
* @param string $field
* @return string
*/
public function getFieldId($field)
{
return sprintf($this->getFieldIdFormat(), $field);
}
/**
* @param string $field
* @return string
*/
public function getFieldName($field)
{
return sprintf($this->getFieldNameFormat(), $field);
}
/**
* Retrieve customer attribute instance
*
* @param string $attributeCode
* @return \Magento\Customer\Api\Data\AttributeMetadataInterface|null
*/
protected function _getAttribute($attributeCode)
{
try {
return $this->customerMetadata->getAttributeMetadata($attributeCode);
} catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
return null;
}
}
}