Checkout Progress box возвращает пустой checkout.accordion.openSection ('') - PullRequest
0 голосов
/ 31 января 2012

Ссылки «Изменить» в правом столбце прогресса больше не работают на моем сайте.После отладки я замечаю, что вызов AJAX возвращает разметку с пустым вызовом checkout.accordion.openSection ()

 <dt class="complete">
    Shipping Address <span class="separator">|</span> <a href="#payment" onclick="checkout.accordion.openSection('');return false;">Change</a>
 </dt>

Как это возможно?Я не редактировал progress.phtml в моей теме, поэтому это базовая версия.И, глядя на базовую версию, она кажется жестко запрограммированной.

У кого-нибудь есть идеи?

РЕДАКТИРОВАТЬ:

Вот код в файле progress.phtml дляВыше разметка:

    <dt class="complete">
        <?php echo $this->__('Shipping Address') ?> <span class="separator">|</span> <a href="#payment" onclick="checkout.accordion.openSection('opc-shipping');return false;"><?php echo $this->__('Change') ?></a>
    </dt>

Это в основном жестко, верно?Как это может тогда быть пустым?

1 Ответ

2 голосов
/ 05 сентября 2012

Я нашел эту ошибку сегодня.Для меня это было связано с расширением Amasty "Order Attributes".Установка System->Configuration->Amasty Extensions->Order Attributes для страницы «Отображать значения атрибутов на боковой панели прогресса» на «Нет» устраняет проблему.

Основной причиной являются регулярные выражения в code/local/Amasty/Orderattr/Block/Checkout/Onepage/Progress.php.Открывающие парены находятся в неправильном месте:

Неверно (оригинал):

$html = preg_replace('@opc-billing(.*?)<\/dd>@s', '$1'.$this->_getOrderAttributesHtml(2), $html);

Справа (обратите внимание на открывающие парены в шаблоне регулярных выражений - это будет исправлено, если их применить к другим регулярным выражениям):

$html = preg_replace('@(opc-billing.*?)<\/dd>@s', '$1'.$this->_getOrderAttributesHtml(2), $html);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...