Обновление с 1.5.0.1> 1.6.2: ошибка извлечения (недопустимый метод Mage_Checkout_Block_Onepage_Billing :: isTaxvatEnabled) - PullRequest
1 голос
/ 08 февраля 2012

Я действительно надеюсь, что кто-то сталкивался с этим раньше, Googling меня не зашел слишком далеко.

Я нахожусь в процессе обновления моего магазина с 1.5.0.1 до 1.6.2.К счастью, кажется, что все прошло гладко, но я столкнулся с действительно странной проблемой.

Похоже, что Magento теперь включает новый шаблон в тему по умолчанию - app/design/frontend/base/default/template/persistent

Когда я пытаюсь оформить заказ и выполнить несколько тестовых заказов, я получаю эту ошибку - http://pastie.org/3337035

Поэтому я решил, что это проблема с моей пользовательской темой в связи с обновлением, и временно переключился на новуютема по умолчанию.Нет, все еще получил ту же ошибку.Затем я попытался скопировать этот новый каталог шаблонов /persistent в свою пользовательскую тему, и это тоже не помогло.

На данный момент я решил закомментировать рассматриваемый код, например, так: (вpersistent / checkout / onepage / billing.phtml)

<?php //if ($this->isTaxvatEnabled()):?>
<li><?php //echo $this->getTaxvatHtml() ?></li>
<?php //endif; ?>

Похоже, что это исправило ошибку и позволяет оформить заказы без проблем, но я действительно хочу знать, что здесь происходит.Что такое Taxvat?Я также попробовал решение в этом посте - ошибка с проверкой magento безрезультатно.

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

1 Ответ

1 голос
/ 08 февраля 2012

Ваш шаблонный файл phtml в порядке. Однако в его родительском блоке (Mage_Checkout_Block_Onepage_Billing) отсутствует isTaxvatEnabled. Этот метод является новым методом в ветке 1.6 Magento, поэтому есть две возможные причины для этого

  1. «Вы» (имеется в виду вы или Magento Connect) не смогли обновить файл в app/code/core/Mage/Checkout/Block/Onepage/Billing.php

  2. Вы, или предыдущий разработчик, или сторонний модуль, создали переопределение пула кода, и есть старая версия биллингового блока, расположенная в app/code/community/Mage/Checkout/Block/Onepage/Billing.php, app/code/local/Mage/Checkout/Block/Onepage/Billing.php или в другом месте, которое было добавлен к пути (редко, но я его видел).

Самый быстрый способ найти этот файл - добавить следующий бит кода в файл шаблона PHTML

$rClass = new ReflectionClass($this);
var_dump($rClass->getFilename());

Если этот файл находится в core, значит, ваше обновление не удалось, и у вас есть система с половиной 1,5 и половиной 1,6. Наиболее распространенной причиной этого является умопомрачительный Magento Connect, который молча терпит неудачу при определенных типах ошибок разрешений файлов, хотя невозможность загрузить все файлы является еще одной распространенной причиной. Начните обновление заново, измените дерево файлов обновлений на только что загруженное дерево.

Если этот файл находится где-то еще, вам нужно

  1. Определите, какие методы, свойства или другой код был добавлен в файл в вашем community или local пуле кодов

  2. Сделайте копию 1.6.2 Billing.php

  3. Добавить метод из одного в файл

  4. Замените Billing.php локально на Billing.php, который вы только что создали.

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