2013-05-09 68 views
1

遷移從Magento專業到Magento的社區後,我試圖運行促銷>>目錄價格規則內的「應用規則」功能時所遇到的問題。Magento的無法申請目錄規則

我收到確切的消息如下:

「無法應用的規則要求無效的網站代碼:陣」

有沒有人見過這個?我似乎無法找到有關錯誤的任何/信息。

感謝您的幫助!

+0

從目錄價格規則粘貼屏幕快照? – Meabed 2013-05-09 05:10:36

+0

當然:http://i.imgur.com/QbsWGQn.png – 2013-05-09 05:15:07

+0

我還注意到,只有當我將規則設置爲「活動」時纔會出現此錯誤。如果所有規則都處於非活動狀態,並且我點擊應用,則收到的唯一消息是「無法應用規則」。 – 2013-05-09 05:35:57

回答

2

在型號App.php

應用程序/代碼/核心/法師/核心/型號/ App.php

public function getWebsite($id=null) 
{ 
    if (is_null($id)) { 
     $id = $this->getStore()->getWebsiteId(); 
    } elseif ($id instanceof Mage_Core_Model_Website) { 
     return $id; 
    } elseif ($id === true) { 
     return $this->_website; 
    } 

    if (empty($this->_websites[$id])) { 
     $website = Mage::getModel('core/website'); 
     if (is_numeric($id)) { 
      $website->load($id); 
      if (!$website->hasWebsiteId()) { 
       throw Mage::exception('Mage_Core', 'Invalid website id requested.'); 
      } 
     } elseif (is_string($id)) { 
      $websiteConfig = $this->_config->getNode('websites/'.$id); 
      if (!$websiteConfig) { 
       throw Mage::exception('Mage_Core', 'Invalid website code requested: '.$id); 
      } 
      $website->loadConfig($id); 
     } 
     $this->_websites[$website->getWebsiteId()] = $website; 
     $this->_websites[$website->getCode()] = $website; 
    } 
    return $this->_websites[$id]; 
} 

,如果你看到拋出異常無效的網站代碼行要求:$ ID

這是例外發生在你的情況和它的,因爲分配給網站的價格規則不存在或錯誤的ID或者一些與此有關。

嘗試刪除該規則,然後重新添加。

+0

謝謝你的回覆。我刪除了所有規則,並添加了測試規則,並享有0%的折扣。但是,當我嘗試應用它時收到相同的錯誤。 – 2013-05-09 05:54:42

+0

您的所有網站的ID,並從該表中獲取規則的網站ID在數據庫catalogrule_group_website,並從該表catalogrule_website(它們粘貼在這裏,所以我們可以匹配,如果指定的商店ID是正確的或沒有?) – Meabed 2013-05-09 06:11:39

+0

好了,所以我比較了表。在catalogrule_group_website中,我們有:'rule_id','customer_group_id','website_id'。在catalogrule_website中,我們有'rule_id'和'website_id'。我試圖添加'customer_group_id'來查看是否可以修復它,但它不起作用。 – 2013-05-09 19:54:43

0

來回1.5.1.0遷移到1.7.0.2 Magento的CE時,我有同樣的問題。問題在於catalogrule表的列「website_ids」和「customer_group_ids」。這些列在1.7.0.2數據庫中不存在,但如果您嘗試從已遷移的Magento商店中刪除它們,您將無法保存任何規則。我找到的解決方案是,我直接在數據庫中爲這兩列分配NULL值,之後應用規則按鈕起作用。但是,如果您再次保存規則,則需要重複該作業。