Как устранить ошибки обновления/возврата исправлений? СУПИ-6285 и 1.9.2.0
При возврате исправления SUPEE-6285 (для установки SUPEE-6285-V2) я получаю такие ошибки, как
Загрузчик файлов исправлений/шаблон/подключение/package_prepare.phtml Красавчик № 1 ПОТЕРПЕЛ НЕУДАЧУ в 33 года. 1 из 1 куска НЕ УДАЛСЯ - сохранение отклонений в загрузчике файлов/шаблоне/подключении/package_prepare.phtml.rej
У меня были такие раньше с разными исправлениями, но обычно замена этих файлов файлом решает проблему. Однако с этим патчем, замена файлами как из magento 1.9.2 до, так и после обновления SUPEE-6285 V2 не работает.
Я запускаю 1.9.2. Кто-нибудь еще сталкивается с этой проблемой? И какова наилучшая практика для исправления? Я бы предположил, что вам следует что-то сделать с файлом .rej, они не созданы.
2 answers
Обновление: этот ответ применим к Magento 1.9.1.1 и более ранним, Magento 1.9.2.0 не нуждается ни в одном из текущих исправлений (до SUPEE-6285), что также является причиной ваших сообщений об ошибках.
Сначала вам нужно применить SUPEE-5994, потому что он исправил тот же файл, и это первый патч, который еще не содержится в Magento 1.9.1.1
app/design/frontend/rwd/default/template/checkout/cart.phtml
Исправление SUPEE-6285 V2 добавляет функцию quoteEscape()
для решения проблемы XSS.
Если вы используете 1.9.2.0, он уже исправлен с помощью SUPEE-5344, SUPEE-5994 и SUPEE-6285. Кнопка Продолжить покупки экранирована для предотвращения XSS следующим образом (как извлечено из архивного файла Magento 1.9.2.0):
<?php if($this->getContinueShoppingUrl()): ?>
<button type="button" title="<?php echo $this->quoteEscape($this->__('Continue Shopping')) ?>" class="button2 btn-continue" onclick="setLocation('<?php echo Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl()) ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
<?php endif; ?>
Код в 1.9.1.1 допускает XSS и выглядит следующим образом (как извлечено из файла архива Magento 1.9.1.1):
<?php if($this->getContinueShoppingUrl()): ?>
<button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button2 btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
<?php endif; ?>
Что такое патч SUPEE-6285 v2 относится к app/design/frontend/rwd/default/template/checkout/cart.phtml
в 1.9.x.x до версии 1.9.2.0, которая уже включает исправление:
<?php if($this->getContinueShoppingUrl()): ?>
- <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button2 btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
+ <button type="button" title="<?php echo $this->quoteEscape($this->__('Continue Shopping')) ?>" class="button2 btn-continue" onclick="setLocation('<?php echo Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl()) ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
<?php endif; ?>
Разница между SUPEE-6285 V1 и V2 показывает, что единственным изменением был шаблон RWD:
160c160
< SUPEE-6285 | CE_1.9.1.1 | v1 | 7226d88b1eeb07a5fbc4e62be189a5219457cc14 | Mon Jun 22 16:32:26 2015 +0300 | 202596e441..7226d88b1e
---
> SUPEE-6285 | CE_1.9.1.1 | v2 | 7226d88b1eeb07a5fbc4e62be189a5219457cc14 | Mon Jun 22 16:32:26 2015 +0300 | 202596e441..7226d88b1e
1065a1065,1077
> diff --git app/design/frontend/rwd/default/template/checkout/cart.phtml app/design/frontend/rwd/default/template/checkout/cart.phtml
> index 7bceece..88753c3 100644
> --- app/design/frontend/rwd/default/template/checkout/cart.phtml
> +++ app/design/frontend/rwd/default/template/checkout/cart.phtml
> @@ -115,7 +115,7 @@
> <span class="or">-<?php echo $this->__('or'); ?>-</span>
>
> <?php if($this->getContinueShoppingUrl()): ?>
> - <button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button2 btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
> + <button type="button" title="<?php echo $this->quoteEscape($this->__('Continue Shopping')) ?>" class="button2 btn-continue" onclick="setLocation('<?php echo Mage::helper('core')->quoteEscape($this->getContinueShoppingUrl()) ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
> <?php endif; ?>
> <!--[if lt IE 8]>
> <input type="hidden" id="update_cart_action_container" />