/** * Get store settings * @param int|null $mage_store_id * @return DataObject */ public function getStoreSettings($mage_store_id) { /** @var \Magento\Framework\ObjectManagerInterface $om */ $om = \Magento\Framework\App\ObjectManager::getInstance(); /** @var \Magento\Store\Model\StoreManagerInterface $manager */ $manager = $om->get('Magento\\Store\\Model\\StoreManagerInterface'); /** * @var \Magento\Store\Model\Store; */ $store = $manager->getStore($mage_store_id); $baseUrl = $store->getConfig('web/unsecure/base_url'); $locale = $store->getConfig('general/locale/code'); $timezone = $store->getConfig('general/locale/timezone'); $baseCurrency = $store->getConfig('currency/options/base'); $name = $store->getConfig('general/store_information/name'); $logo_url = $store->getConfig('design/header/logo_src'); $country_id = $store->getConfig('general/store_information/country_id'); $region_id = $store->getConfig('general/store_information/region_id'); $city = $store->getConfig('general/store_information/city'); $address1 = $store->getConfig('general/store_information/street_line1'); $address2 = $store->getConfig('general/store_information/street_line2'); $zip = $store->getConfig('general/store_information/postcode'); $phone = $store->getConfig('general/store_information/phone'); $contact_name = $store->getConfig('trans_email/ident_general/name'); $contact_email = $store->getConfig('trans_email/ident_general/email'); $contact = new StoreSettingsContact(); $contact->email = $contact_email; $contact->name = $contact_name; $contact->phone = $phone; $address = new DataObject(); $address->setCountry($country_id); $address->setState($region_id); $address->setCity($city); $address->setAddress_1($address1); $address->setAddress_2($address2); $address->setZip($zip); $logo = !empty($logo_url) ? $store->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA) . \Magento\Config\Model\Config\Backend\Image\Logo::UPLOAD_DIR . '/' . $logo_url : ''; $configData = array('domain' => $baseUrl, 'store_front_url' => $store->getBaseUrl(), 'name' => $name, 'logo_url' => $logo, 'contact_info' => $contact, 'timezone' => $timezone, 'currency' => $baseCurrency, 'locale' => $locale, 'address' => $address, 'order_statuses' => $this->getStoreOrderStatuses()); $object = new DataObject(); $object->setData($configData); return $object; }