Example #1
0
 /**
  * Retrieve address formats
  *
  * @return array
  */
 public function getFormats()
 {
     $store = $this->getStore();
     $storeId = $store->getId();
     if (!isset($this->_types[$storeId])) {
         $this->_types[$storeId] = [];
         foreach ($this->get() as $typeCode => $typeConfig) {
             $path = sprintf('%s%s', self::XML_PATH_ADDRESS_TEMPLATE, $typeCode);
             $type = new DataObject();
             if (isset($typeConfig['escapeHtml'])) {
                 $escapeHtml = $typeConfig['escapeHtml'] == 'true' || $typeConfig['escapeHtml'] == '1';
             } else {
                 $escapeHtml = false;
             }
             $type->setCode($typeCode)->setTitle((string) $typeConfig['title'])->setDefaultFormat($this->_scopeConfig->getValue($path, ScopeInterface::SCOPE_STORE, $store))->setEscapeHtml($escapeHtml);
             $renderer = isset($typeConfig['renderer']) ? (string) $typeConfig['renderer'] : null;
             if (!$renderer) {
                 $renderer = self::DEFAULT_ADDRESS_RENDERER;
             }
             $type->setRenderer($this->_addressHelper->getRenderer($renderer)->setType($type));
             $this->_types[$storeId][] = $type;
         }
     }
     return $this->_types[$storeId];
 }