Пример #1
0
 /**
  * @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();
 }
Пример #2
0
 /**
  * @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;
 }
Пример #3
0
 /**
  * @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;
 }
Пример #4
0
 /**
  * @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;
 }
Пример #5
0
 /**
  * @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;
 }
Пример #6
0
 /**
  * @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;
 }
Пример #7
0
 /**
  * @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;
 }
Пример #8
0
 /**
  * @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;
 }
Пример #9
0
 /**
  * @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;
 }