Ошибка: не все продукты доступны в требуемом количестве!что это значит? - PullRequest
2 голосов
/ 25 июля 2010

Я получаю эту ошибку при попытке отправить заказ в корзине: не все продукты доступны в запрошенном количестве

Я установил количество на 1000 и сделал его на складе ... У меня естьтолько что установил magento и некоторые другие расширения, так что я сделал не так ,,

Ответы [ 2 ]

9 голосов
/ 28 июля 2010

Хорошо, я подумал, что лучше добавить новый ответ, чтобы я мог добавлять ссылки, форматировать код и т. Д. Извинения за дубликат.

Что ж, обучение отладке вашего кода, безусловно, большой шагвверх, но тот, который обеспечит огромное понимание того, что на самом деле делает код, а не полагается на echo и print_r!:) Особенно для сложного и действительно объектно-ориентированного кода, в котором вы постоянно перемещаетесь между объектами.

Во-первых, убедитесь, что вы используете правильную IDE.Опять же, я рекомендую Netbeans, но Eclipse будет работать.Все ссылки отсюда будут предполагать Netbeans.

Существует большое руководство по отладке с примером здесь на Netbeans wiki .Существуют также руководства по настройке OSX , Windows и Ubuntu , поэтому выбирайте свой яд!

Причина, по которой я предложил CartController.phpи updatePostAction - потому что вы можете прочитать из структуры URL Magento, какой модуль, контроллер и действие вызываются.Итак, если вы проверите форму на странице корзины (/ checkout / cart), вы увидите, что форма отправляется на /checkout/cart/updatePost/, что означает, что Mage_Checkout - это модуль, CartController - это контроллер, а updatePostActionэто метод.Поэтому, когда пользователь нажимает кнопку «Обновить корзину», управление (и содержимое корзины) передается этому методу, достигая точки останова.Вы также можете выбрать addAction в том же классе, чтобы поймать его так, как он был добавлен на странице продукта.

После того, как вы в активном сеансе отладки, проверьте переменные и добавьте наблюдения (при необходимости) впонаблюдайте за тем, что происходит.Используйте клавишу F8 для перемещения и F7 для перехода на интересные звонки.

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

Удачи!JD

1 голос
/ 26 июля 2010

Я бы подумал, что предложил Уилл, и ты, очевидно, проверил.

К сожалению, это, вероятно, одна из тех ситуаций, когда вам нужно отладить основной код, чтобы выяснить, что происходит. Настройте свою локальную среду разработки с помощью xdebug (есть несколько хороших руководств о том, как это сделать в зависимости от вашей ОС, IDE и веб-сервера, но я считаю, что Netbeans и apache2.2 прекрасно работают вместе), а затем установите точку останова в CartController.php внутри updatePostAction () и проследить это до конца.

Не стесняйтесь отправлять назад то, что вы найдете, это может быть полезно для других.

Ура, JD

...