Как я могу вставить изображение на стороне способа оплаты при оформлении заказа.
Например, помимо способа оплаты кредитными картами я хочу отобразить логотип Visa и Master Cards.
Есть два способа сделать это. Оба требуют некоторой работы над вашей темой / шаблоном.
Это быстрый и грязный способ, который отлично работает, если вы хотите, чтобы ваши изображения были ПЕРЕД именем метода оплаты:
Посмотрите, есть ли у вас файл с именем app/design/frontend/-custom_package-/-custom_theme-/template/checkout/onepage/payment/methods.phtml
где -custom_package-
и -custom_theme-
являются названиями вашей темы.
Если этот файл существует, сделайте его резервную копию, чтобы вы могли вернуться к нему, если что-то сломаете. Если он не существует, скопируйте этот файл из app/design/frontend/base/default/template/checkout/onepage/payment/methods.phtml
той же директории в вашей теме. Возможно, вам придется создать checkout/onepage/payment/
папку в вашей пользовательской теме.
Откройте (вашу копию) method.phtml в вашем любимом редакторе.
найдите следующую строку:
<label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label>
В моем экземпляре base/default/template/checkout/onepage/payment/methods.phtml
я нашел его в строке 54.
Измените эту строку следующим образом:
<label for="p_method_<?php echo $_code ?>"><img src="<?php echo $this->getSkinUrl('images/'.$_code.'.jpg') ?>" alt="<?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?>" /> <?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label>
Удостоверьтесь, что вы называете свои изображения этикетки после $_code
. так что для метода оплаты Saved CC, код ccsave
, ваше изображение должно быть вызвано ccsave.jpg
.
Если вы хотите, чтобы изображения появлялись ПОСЛЕ метки, вы можете сделать это и здесь. Просто измените место, где вы вставляете изображения.
Но , как вы могли заметить: Magento идет с поддержкой HTML после ярлыка из коробки : <?php echo $this->getMethodLabelAfterHtml($_method) ?>
. Это Magento способ сделать это, но его немного сложнее настроить, и он включает добавление блока с использованием XML и создание пользовательских файлов .phtml. Вы можете найти немного больше информации об этом здесь .
Кстати: больше информации о темах / шаблонах Magento можно найти здесь .