/** * @return void */ public function indexAction() { /** @var Df_YandexMarket_Model_Action_Front $action */ $action = df_model(Df_YandexMarket_Model_Action_Front::getNameInMagentoFormat(), array(Df_YandexMarket_Model_Action_Front::PARAM__CONTROLLER => $this)); df_assert($action instanceof Df_YandexMarket_Model_Action_Front); $action->process(); }
/** * @override * @param Varien_Data_Form_Element_Abstract $element * @return string */ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) { /** @var Df_YandexMarket_Model_Field_Conditions $field */ $field = df_model(Df_YandexMarket_Model_Field_Conditions::getNameInMagentoFormat(), array(Df_YandexMarket_Model_Field_Conditions::PARAM__ELEMENT => $element, Df_YandexMarket_Model_Field_Conditions::PARAM__BLOCK => $this)); df_assert($field instanceof Df_YandexMarket_Model_Field_Conditions); /** @var string $result */ $result = $field->getHtml(); $result .= sprintf('<input type="hidden" value="0" name="%s"/>', $element->getData('name')); df_result_string($result); return $result; }
/** * @return Mage_Core_Model_Store */ public function getStoreProcessed() { if (!isset($this->_storeProcessed)) { /** @var Df_Core_Model_ActionHelper_StoreProcessed $helper */ $helper = df_model(Df_Core_Model_ActionHelper_StoreProcessed::getNameInMagentoFormat(), array(Df_Core_Model_ActionHelper_StoreProcessed::PARAM__MODULE_NAME => 'Яндекс.Маркет', Df_Core_Model_ActionHelper_StoreProcessed::PARAM__URL_EXAMPLE => 'http://example.ru/df-yandex-market/yml/?store-view=<системное имя витрины>/')); df_assert($helper instanceof Df_Core_Model_ActionHelper_StoreProcessed); /** @var Mage_Core_Model_Store $result */ $result = $helper->getStoreProcessed(); df_assert($result instanceof Mage_Core_Model_Store); $this->_storeProcessed = $result; } df_assert($this->_storeProcessed instanceof Mage_Core_Model_Store); return $this->_storeProcessed; }
/** * @return Mage_CatalogRule_Model_Rule */ public function getRule() { if (!isset($this->_rule)) { /** @var Mage_CatalogRule_Model_Rule $result */ $result = df_model('catalogrule/rule'); df_assert($result instanceof Mage_CatalogRule_Model_Rule); $result->load($this->getConditions()); df_assert_between($result->getId(), 1); df_assert($result instanceof Mage_CatalogRule_Model_Rule); $this->_rule = $result; } df_assert($this->_rule instanceof Mage_CatalogRule_Model_Rule); return $this->_rule; }
/** * @return Mage_Directory_Model_Currency */ public function getCurrency() { if (!isset($this->_currency)) { /** @var string $currencyCode */ $currencyCode = Mage::getStoreConfig('df_yandex_market/general/currency', df_helper()->yandexMarket()->getStoreProcessed()); df_result_string($currencyCode); /** @var Mage_Directory_Model_Currency $result */ $result = df_model(Df_Directory_Const::CURRENCY_CLASS_MF); df_assert($result instanceof Mage_Directory_Model_Currency); $result->load($currencyCode); $this->_currency = $result; } df_assert($this->_currency instanceof Mage_Directory_Model_Currency); return $this->_currency; }
/** * @return Mage_CatalogRule_Model_Rule */ private function getRule() { if (!isset($this->_rule)) { /** @var Mage_CatalogRule_Model_Rule $result */ $result = df_model('catalogrule/rule'); df_assert($result instanceof Mage_CatalogRule_Model_Rule); if (0 < $this->getRuleExistingId()) { $result->load($this->getRuleExistingId()); df_assert_between($result->getId(), 1); } $result->addData(array('name' => 'Яндекс.Маркет', 'description' => 'не редактировать')); $this->_rule = $result; } df_assert($this->_rule instanceof Mage_CatalogRule_Model_Rule); return $this->_rule; }
/** * @overide * @return Df_YandexMarket_Model_System_Config_Backend_Currency */ protected function _beforeSave() { parent::_beforeSave(); if (!in_array($this->getValue(), Df_YandexMarket_Model_System_Config_Source_Currency::getAllowedCurrencies())) { /** @var string $currencyName */ $currencyName = $this->getValue(); try { /** @var Zend_Currency $result */ $currency = Mage::app()->getLocale()->currency($this->getValue()); $currencyName = $currency->getName(); } catch (Exception $e) { } df_error(sprintf('Яндекс.Маркет не допускает указанную Вами валюту «%s» в качестве основной валюты магазина.', $currencyName)); } else { /** @var Df_Admin_Model_Config_BackendChecker_CurrencyIsSupported $checker */ $checker = df_model(Df_Admin_Model_Config_BackendChecker_CurrencyIsSupported::getNameInMagentoFormat(), array(Df_Admin_Model_Config_BackendChecker_CurrencyIsSupported::PARAM__CURRENCY_CODE => $this->getValue(), Df_Admin_Model_Config_BackendChecker_CurrencyIsSupported::PARAM__BACKEND => $this)); df_assert($checker instanceof Df_Admin_Model_Config_BackendChecker_CurrencyIsSupported); $checker->check(); } return $this; }
/** * @return array */ private function getDocumentData_Offers() { /** @var array $result */ $result = array(); foreach ($this->getProducts() as $product) { /** @var Mage_Catalog_Model_Product $product */ df_assert($product instanceof Mage_Catalog_Model_Product); /** @var Df_YandexMarket_Model_Processor_Offer $processor */ $processor = df_model(Df_YandexMarket_Model_Processor_Offer::getNameInMagentoFormat(), array(Df_YandexMarket_Model_Processor_Offer::PARAM__PRODUCT => $product)); df_assert($processor instanceof Df_YandexMarket_Model_Processor_Offer); $result[] = $processor->getDocumentData(); } df_result_array($result); return $result; }
/** * @return Mage_CatalogRule_Model_Rule */ private function getRule() { if (!isset($this->_rule)) { /** @var Mage_CatalogRule_Model_Rule $result */ $result = df_model('catalogrule/rule'); df_assert($result instanceof Mage_CatalogRule_Model_Rule); if (0 < $this->getRuleId()) { $result->load($this->getRuleId()); } $result->getConditions()->setJsFormObject('rule_conditions_fieldset'); $this->_rule = $result; } df_assert($this->_rule instanceof Mage_CatalogRule_Model_Rule); return $this->_rule; }