Выпадающий список валюты Magento и Символы валют


Я новичок в magento..as в соответствии с моим дизайном мне нужно изменить выпадающую валюту на символы или изображения евро и доллара, которые я создал. Поэтому я хотел бы знать, как я мог бы пойти на это? Мне удалось сменить язык на флаги стран, но я застрял с этой проблемой валюты. Пожалуйста, поделитесь своим мнением по этому поводу.

Я также хотел знать, как заменить "Добавить в список желаний" и "Добавить для сравнения" и заменить его изображениями или значками, созданными мной. Пожалуйста, проводи меня внутрь в связи с этим, а также как добавить "отправить другу электронное письмо" в виде изображения или значка в строке "Добавить в список пожеланий"? enter image description hereenter image description here Спасибо

Крис

Author: KrisB, 2015-04-23

3 answers

В вашем шаблоне тем/каталоге/currency.phtml измените код на этот (он основан на теме RWD):

<?php
/**
 * Currency switcher
 *
 * @see Mage_Directory_Block_Currency
 */
?>
<?php if($this->getCurrencyCount()>1): ?>        
<div class="currency-switcher">
        <label for="select-currency"><?php echo $this->__('Your Currency:') ?></label>

        <?php foreach ($this->getCurrencies() as $_code => $_name): 

            // gets the currency symbol for each currency
            $symbol = Mage::app()->getLocale()->currency($_code)->getSymbol();
        ?>

        <a href="<?php echo $this->getSwitchCurrencyUrl($_code) ?>" class="<?php if($_code==$this->getCurrentCurrencyCode()): ?> selected <?php endif; ?>">
            <?php echo $symbol; ?>
        </a>

    <?php endforeach; ?>
</div>
<?php endif; ?>

Это будет выглядеть так: enter image description here

Как вы можете видеть, волшебство совершается с помощью этой строки после утверждения foreach:

$symbol = Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();

Или сейчас:

Mage::app()->getLocale()->currency($_code)->getSymbol();

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

Если вы хотите показать изображения для каждой валюты, есть несколько способов сделать это.

Используйте CSS и фоновые изображения, добавив $_code в класс тегов a:

<?php foreach ($this->getCurrencies() as $_code => $_name): 

    // gets the currency symbol for each currency
    $symbol = Mage::app()->getLocale()->currency($_code)->getSymbol();
?>

<a href="<?php echo $this->getSwitchCurrencyUrl($_code) ?>" class="<?php if($_code==$this->getCurrentCurrencyCode()): ?> selected <?php endif; ?> <?php echo $_code; ?>">
    <?php echo $symbol; ?>
</a>

Затем определите свой css (или в данном случае scss - sass):

.currency-switcher {

    .a { // define all a tags
            display: block;
            width: 25px;
            height: 25px;           
        }

    // now define the background image for each currency
    .USD {
        background-image: url('path-to-your-dollar-image') no-repeat 50% 50%;
    }

    // now define the rest ...

}

Другой метод заключается в том, чтобы снова напрямую выводить изображения, используя значение $_code, поэтому ваши изображения должны быть названы правильно, например:

currency_USD.png и currency_GBP.png и т.д.. и отредактируйте свой код как таковой:

    <?php foreach ($this->getCurrencies() as $_code => $_name): 
        // define the image
        $currency_image = 'path/to/your/image/currency_' . $_code . '.png';
    ?>

    <a href="<?php echo $this->getSwitchCurrencyUrl($_code) ?>" class="<?php if($_code==$this->getCurrentCurrencyCode()): ?> selected <?php endif; ?>">
        <?php echo $currency_image; ?>
    </a>

<?php endforeach; ?>
 2
Author: tecjam, 2015-04-24 08:01:45

Что касается вашего редактирования - пожалуйста, также отредактируйте свой заголовок, чтобы его было легче найти людям, так как теперь у него 2 разных вопроса.

Теперь, как сделать то, что вы хотите, со списком пожеланий и добавить для сравнения ссылки... Возможно, у вас уже есть отдельные классы css для "Auf den Wunschzettel" и "Auf die Vergleichsliste".

Путь к файлу шаблона (на основе темы RWD) /app/design/frontend/rwd/default/template/catalog/product/view/addto.phtml - в этом вы можете видеть, что классы заданы как link-wishlist и link-compare.

Вы можете либо отредактировать ваш шаблон для вывода изображений напрямую или просто используйте методы замены изображений css для замены текста изображением - например: https://css-tricks.com/examples/ImageReplacement/

 1
Author: tecjam, 2015-04-30 07:29:58

Код такой, как показано ниже, однако изображение выглядит как неработающая ссылка. Есть какая-нибудь помощь?

<?php if ($block->getCurrencyCount() > 1): ?>
<?php $currencies = $block->getCurrencies(); ?>
<?php $currentCurrencyCode = $block->getCurrentCurrencyCode(); ?>
<?php $id = $block->getIdModifier() ? '-' . $block->getIdModifier() : '' ?>
<div class="switcher currency switcher-currency" id="switcher-currency<?= $block->escapeHtmlAttr($id) ?>">
    <strong class="label switcher-label"><span><?= $block->escapeHtml(__('Currency')) ?></span></strong>
    <div class="actions dropdown options switcher-options">
        <div class="action toggle switcher-trigger"
             id="switcher-currency-trigger<?= $block->escapeHtmlAttr($id) ?>"
             data-mage-init='{"dropdown":{}}'
             data-toggle="dropdown"
             data-trigger-keypress-button="true">
            <strong class="language-<?= $block->escapeHtml($block->getCurrentCurrencyCode()) ?>">
                <span><?= $block->escapeHtml($currentCurrencyCode) ?> - <?= @$block->escapeHtml($currencies[$currentCurrencyCode]) ?></span>
            </strong>
        </div>
        <ul class="dropdown switcher-dropdown" data-target="dropdown">
            <?php foreach ($currencies as $_code => $_name): ?>
                <?php if ($_code != $currentCurrencyCode): ?>
                    <li class="currency-<?= $block->escapeHtmlAttr($_code) ?> switcher-option">
                        <a href="#" data-post='<?= /* @noEscape */ $block->getSwitchCurrencyPostData($_code) ?>'><?= $block->escapeHtml($_code) ?> - <?= $block->escapeHtml($_name) ?></a>
                    </li>
                <?php endif; ?>
            <?php endforeach; ?>
        </ul>
    </div>
</div>
<?php endif; ?>
 0
Author: Nithin, 2018-05-29 11:21:44