2013-05-09 3 views
1

После миграции из Magento Professional в Magento Community я столкнулся с проблемой при попытке запустить функцию «Применить правила» внутри Правил продвижения рекламы >> Цены на каталог.Magento не удалось применить правило каталога

Точное сообщение я получаю следующим образом:

«Невозможно применить правила Недопустимый веб-сайт запрошенный код:. Array»

Кто-нибудь видел это раньше? Я не могу найти/любую/информацию об ошибке.

Спасибо за помощь!

+0

Вставить скриншот из каталога правила цены? – Meabed

+0

Уверен: http://i.imgur.com/QbsWGQn.png –

+0

Я также заметил, что эта ошибка возникает только тогда, когда я устанавливаю правило как «Активное». Если все правила неактивны, и я нажимаю «применить», единственным полученным сообщением является «Невозможно применить правила». –

ответ

2

В модели app.php

приложение/код/​​ядро ​​/ Mage/Ядро/Модель/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]; 
} 

если вы видите строку, бросить исключение код Invalid сайта запрошен: $ id

Это исключение происходит в вашем случае и потому, что правило Price, присвоенное веб-сайту, не существует или неверно идентифицировано или что-то в этом отношении.

Попробуйте удалить правило и добавить его еще раз.

+0

Благодарим вас за ответ. Я удалил все правила и добавил тестовое правило со скидкой 0%. Тем не менее, я получаю ту же ошибку, когда я пытаюсь применить ее. –

+0

Получите все свои идентификаторы веб-сайтов и получите идентификатор веб-сайта правила из этой таблицы в каталоге databaserule_group_website и из этой таблицы catalogrule_website (вставьте их здесь, чтобы мы могли сопоставлять, если присвоенный идентификатор магазина правильный или нет?) – Meabed

+0

Хорошо, поэтому я сравнил столы. В catalogrule_group_website у нас есть: 'rule_id',' customer_group_id', 'website_id'. В catalogrule_website мы имеем 'rule_id' и' website_id'. Я попытался добавить 'customer_group_id', чтобы убедиться, что это исправит, но это не сработало. –

0

Не могли бы вы проверить патчи, которые вы перенесли в сообщество magento. Я надеюсь, что пропущенный кодекс. Во время выполнения кода печатается какой-то массив.

http://chat.stackoverflow.com/transcript/message/9332922#9332922

Спасибо.

0

У меня была такая же проблема при переносе с 1.5.1.0 до 1.7.0.2 Magento CE. Проблема заключается в столбцах «site_ids» и «customer_group_ids» таблицы catalogrule. Эти столбцы не существуют в базе данных 1.7.0.2, но если вы попытаетесь удалить их из перенесенного магазина Magento, вы не сможете сохранить какое-либо правило. Решение, которое я нашел, это то, что я назначил значение NULL непосредственно в базе данных для этих двух столбцов, а затем нажала кнопку Apply Rule. Однако вам нужно повторить эту работу, если вы снова сохраните правило.

Смежные вопросы