Вставьте изображение на этикетке рядом с платежной меткой

8

Как я могу вставить изображение на стороне способа оплаты при оформлении заказа.

Например, помимо способа оплаты кредитными картами я хочу отобразить логотип Visa и Master Cards.

Luiza
источник

Ответы:

11

Есть два способа сделать это. Оба требуют некоторой работы над вашей темой / шаблоном.

Это быстрый и грязный способ, который отлично работает, если вы хотите, чтобы ваши изображения были ПЕРЕД именем метода оплаты:

Посмотрите, есть ли у вас файл с именем 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 можно найти здесь .

Ottonet
источник
Добро пожаловать;)
Оттонет