Nano Hash - криптовалюты, майнинг, программирование

Экраны администратора Magento добавляют новую кнопку обзора, которая не работает и генерирует ошибку 404

Magento Enterprise Edition, версия 1.13.1.0

Невозможно добавить новый обзор продукта через экраны администратора. Когда кнопка «Добавить новый отзыв» нажата в панели администратора, меню «Каталог»: «Отзывы и рейтинги»: «Отзывы клиентов»: «Все обзоры», и в Magento генерируется исключение, после чего отображается страница 404.

Это чистая установка Magento, без каких-либо настроек.

Есть идеи, как это исправить?


Ответы:


1

Блочный класс app/code/core/Mage/Adminhtml/Block/Review/Rating/Detailed.php в строке 74 вызывает setStoreFilter(), используя жестко запрограммированный код хранилища «по умолчанию», который генерирует исключение при наличии не сохраняет в Magento с кодом «по умолчанию», а когда страницы ошибок отключены, перенаправляет пользователя-администратора на страницу 404.

Чтобы воспроизвести проблему, создайте второй магазин и соответствующий вид магазина в Magento, измените код магазина «по умолчанию» на «mystorecode», затем перейдите в меню администратора «Каталог > Отзывы и рейтинги > Отзывы покупателей > Все отзывы» и нажмите кнопку « Кнопка «Добавить новый отзыв».

Предлагаемое исправление заключается в следующем:

--- a/app/code/core/Mage/Adminhtml/Block/Review/Rating/Detailed.php
+++ b/app/code/core/Mage/Adminhtml/Block/Review/Rating/Detailed.php
@@ -68,10 +68,13 @@ class Mage_Adminhtml_Block_Review_Rating_Detailed extends Mage_Adminhtml_Block_T
                     ->addRatingOptions();

             } elseif (!$this->getIsIndependentMode()) {
+                $default_store = Mage::app()->getWebsite()->getDefaultStore();
                 $ratingCollection = Mage::getModel('rating/rating')
                     ->getResourceCollection()
                     ->addEntityFilter('product')
-                    ->setStoreFilter(Mage::app()->getStore('default')->getId())
+                    ->setStoreFilter( ($default_store) 
+                                      ? $default_store->getId() 
+                                      : Mage_Core_Model_App::ADMIN_STORE_ID )
                     ->setPositionOrder()
                     ->load()
                     ->addOptionToItems();

просто заменить:

                 $ratingCollection = Mage::getModel('rating/rating')
                     ->getResourceCollection()
                     ->addEntityFilter('product')
                     ->setStoreFilter(Mage::app()->getStore('default')->getId())
                     ->setPositionOrder()
                     ->load()
                     ->addOptionToItems();

с участием:

                 $default_store = Mage::app()->getWebsite()->getDefaultStore();
                 $ratingCollection = Mage::getModel('rating/rating')
                     ->getResourceCollection()
                     ->addEntityFilter('product')
                     ->setStoreFilter( ($default_store) 
                                       ? $default_store->getId() 
                                       : Mage_Core_Model_App::ADMIN_STORE_ID )
                     ->setPositionOrder()
                     ->load()
                     ->addOptionToItems();

Надеюсь, это решит проблему.

03.04.2014
  • Так что я должен установить мой код магазина по умолчанию всегда по умолчанию? 03.01.2015
  • Когда я пытаюсь сохранить новый отзыв, ничего не появляется! Может быть, это нуждается в дополнительной фиксации? 03.01.2015
  • Вам не нужно устанавливать код магазина по умолчанию, это именно то, для чего предназначено исправление. 08.01.2015
  • Если отзывы не сохраняются, но у вас нет симптомов, описанных в этом сообщении (страница 404 или исключения не сообщаются, и вы действительно можете отправить отзыв через внешний интерфейс), исправление сработало, но есть проблемы. другие проблемы в вашей установке. Видите ли вы отзыв, который вы отправили, на экранах администратора Magento? Может потребоваться одобрение, прежде чем его можно будет отобразить во внешнем интерфейсе. Эта функция настраивается в админке (Система › Конфигурация). 08.01.2015
  • Да, при добавлении отзыва в интерфейсе все работает нормально. После исправления серверная часть не получает ошибку 404, но при добавлении нового обзора сообщает, что обзор был сохранен, но ничего не появляется. Что касается части кода, я спросил вас, предлагает ли команда Magento разработчикам сохранить код по умолчанию для магазина по умолчанию или можно использовать другой? Я спрашиваю об этом, потому что столкнулся с аналогичной проблемой с расширением MageMonkey, где автоматически сгенерированные электронные письма клиентам не имеют показ изображения. Связано ли это с этим? 09.01.2015
  • Просто примечание - я видел эту проблему также в Magento CE 1.9.x.x, указанное выше исправление решает проблему. 06.07.2015
  • еще одно замечание, похоже, что это решено в CE 1.9.2.0 с помощью ->setStoreFilter(Mage::app()->getDefaultStoreView()->getId()) 10.07.2015

  • 2

    что команда Magento исправит эту проблему в более новой версии, они добавят этот код

    ->setStoreFilter(Mage::app()->getDefaultStoreView()->getId())
    

    вместо

    ->setStoreFilter(Mage::app()->getStore('default')->getId())
    

    я думаю, что лучшая идея, чтобы обновить версию

    19.05.2016
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..