Ateroid

[РЕШЕНО] Как выводить переключение currency иконками как language

Рекомендуемые сообщения

Ateroid    0

   Есть потребность выведения валюты маленькими иконками. Использую рубли и гривны. у гривны такой значок что никто не поймет, грн и р тоже неочень, Вот иконками было бы самое оно.

 

  Пытался сделать по аналогии как в language.php но ничего не вышло, только наоборот всё усугубил. http://ceramist.biz  полюбуйтесь чтоо натворил,

 

Как вернуть хотя бы в исходное состояние, я в файлах всё вернул как было, чего он найти не может не понятно мне.

Изменено пользователем Ateroid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SlideShow    21

При чем здесь language.php?

 

У вас Ocstore 1.5.5.1.2, открываем шаблон валют /catalog/view/theme/ВАША ТЕМА/template/module/currency.tpl, меняем все содержимое

<?php if (count($currencies) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
  <div id="currency"><?php echo $text_currency; ?>
    <?php foreach ($currencies as $currency) { ?>
    <?php if ($currency['code'] == $currency_code) { ?>
    <?php if ($currency['symbol_left']) { ?>
    <a title="<?php echo $currency['title']; ?>"><b><?php echo $currency['symbol_left']; ?></b></a>
    <?php } else { ?>
    <a title="<?php echo $currency['title']; ?>"><b><?php echo $currency['symbol_right']; ?></b></a>
    <?php } ?>
    <?php } else { ?>
    <?php if ($currency['symbol_left']) { ?>
    <a title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();"><?php echo $currency['symbol_left']; ?></a>
    <?php } else { ?>
    <a title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();"><?php echo $currency['symbol_right']; ?></a>
    <?php } ?>
    <?php } ?>
    <?php } ?>
    <input type="hidden" name="currency_code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
  </div>
</form>
<?php } ?>

на

<?php if (count($currencies) > 1) { ?>
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
  <div id="currency"><?php echo $text_currency; ?>
    <?php foreach ($currencies as $currency) { ?>
	<img src="image/<?php echo $currency['code']; ?>.png" alt="<?php echo $currency['title']; ?>" title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();" />
    <?php } ?>
    <input type="hidden" name="currency_code" value="" />
    <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
  </div>
</form>
<?php } ?>

картинки закиньте в /upload/catalog/view/theme/ВАША ТЕМА/image/ назвав их как КОД валюты которую хотите отобразить - например "RUB", картинки в .png, внимание не ".PNG", нужно обязательно с нижним регистром.

 

СДЕЛАЙТЕ БЭКАП КОДА, чтобы без обид, т.к. написал на коленке за минуту первое что пришло в голову по-памяти...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    889

   Есть потребность выведения валюты маленькими иконками. Использую рубли и гривны. у гривны такой значок что никто не поймет, грн и р тоже неочень, Вот иконками было бы самое оно.

 

  Пытался сделать по аналогии как в language.php но ничего не вышло, только наоборот всё усугубил. http://ceramist.biz  полюбуйтесь чтоо натворил,

 

Как вернуть хотя бы в исходное состояние, я в файлах всё вернул как было, чего он найти не может не понятно мне.

У гривны классный символ, и принят в международном сообществе. Вот символу рубля не повезло, он есть только в современных шрифтах

А переключение иконками - можно сделать  оформлением стиля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SlideShow    21

У гривны классный символ, и принят в международном сообществе. Вот символу рубля не повезло, он есть только в современных шрифтах

А переключение иконками - можно сделать  оформлением стиля.

 

Не понял - что оформление стиля? Это как

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ateroid    0

картинки закиньте в /upload/catalog/view/theme/ВАША ТЕМА/image/ назвав их как КОД валюты которую хотите отобразить - например "RUB", картинки в .png, внимание не ".PNG", нужно обязательно с нижним регистром.

СДЕЛАЙТЕ БЭКАП КОДА, чтобы без обид, т.к. написал на коленке за минуту первое что пришло в голову по-памяти...

Спасибо большое, почти сработало, Но вот беда, не выводятся иконки, закачаны правильно, такие же opencart флажки что и в лээнгвидж, может не туда закидываю их.

Изменено пользователем afwollis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    889

<div id="currency">
<a onclick="$('input[name=\'currency_code\']').attr('value', 'EUR'); $(this).parent().parent().submit();" class="EUR" title="Euro">€</a>
<a class="active UAH" title="Грн"> грн</a>
<a onclick="$('input[name=\'currency_code\']').attr('value', 'RUB'); $(this).parent().parent().submit();" class="RUB" title="Российский Рубль">р.</a>
<input type="hidden" value="" name="currency_code">
<input type="hidden" value="/" name="redirect">
</div>

a.EUR {

  background: rgba(0, 0, 0, 0) url("../image/euro.png") repeat scroll 0 -56px;

}

Изменено пользователем chukcha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SlideShow    21

Спасибо большое, почти сработало, Но вот беда, не выводятся иконки, закачаны правильно, такие же opencart флажки что и в лээнгвидж, может не туда закидываю их.

 

я ж писал

 

 

 

картинки закиньте в /upload/catalog/view/theme/ВАША ТЕМА/image/ назвав их как КОД валюты которую хотите отобразить - например "RUB", картинки в .png, внимание не ".PNG", нужно обязательно с нижним регистром.

 

как картинки назвали, покажите какой у вас путь, может не в ту ТЕМУ закидываете?

 

 

<div id="currency">

<a onclick="$('input[name=\'currency_code\']').attr('value', 'EUR'); $(this).parent().parent().submit();" class="EUR" title="Euro">€</a>

<a class="active UAH" title="Грн"> грн</a>

<a onclick="$('input[name=\'currency_code\']').attr('value', 'RUB'); $(this).parent().parent().submit();" class="RUB" title="Российский Рубль">р.</a>

<input type="hidden" value="" name="currency_code">

<input type="hidden" value="/" name="redirect">

</div>

a.EUR {

  background: rgba(0, 0, 0, 0) url("../image/euro.png") repeat scroll 0 -56px;

}

 

 

Да, решение нравиться больше чем мое, что-ли универсальней и не так сложно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ateroid    0

я ж писал

 

 

как картинки назвали, покажите какой у вас путь, может не в ту ТЕМУ закидываете?

 

 

Да, решение нравиться больше чем мое, что-ли универсальней и не так сложно.

мне тоже нравится только оно не работает, не переключает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ateroid    0

я ж писал

 

 

как картинки назвали, покажите какой у вас путь, может не в ту ТЕМУ закидываете?

 

 

Да, решение нравиться больше чем мое, что-ли универсальней и не так сложно.

/allkupz7.bget.ru/public_html/catalog/view/theme/default/image    вот полный путь. картинки в ту что надо тему закидываю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ateroid    0

как картинки назвали?

RUB и UAH картинки то правильно названы c одной кавычкой по краям тоже пробовал, но он их почему-то не понимает, страницу выводит что скартинками на фтп что без них

Изменено пользователем Ateroid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SlideShow    21

на счет кавычек не понял, они тут причем, итак вам нужно назвать картинки так RUB.png и UAH.png, т.е. формат png в нижнем регистре, пересохраните их в нужном формате если они те png.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ateroid    0

на счет кавычек не понял, они тут причем, итак вам нужно назвать картинки так RUB.png и UAH.png, т.е. формат png в нижнем регистре, пересохраните их в нужном формате если они те png.

В правильносм картинки регистре почему не выводятся на странице не понятно, иконки аналогичны как выводит селектор language. сейчас на сайте как раз видно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SlideShow    21

Скопируйте html код из барузера с картинками, гляну что там.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ateroid    0

Скопируйте html код из барузера с картинками, гляну что там.

<div id="currency">Валюта     <img src="image/UAH.png" alt="Гривна" title="Гривна" onclick="$('input[name=\'currency_code\']').attr('value', 'UAH'); $(this).parent().parent().submit();">
    <img src="image/RUB.png" alt="Рубль" title="Рубль" onclick="$('input[name=\'currency_code\']').attr('value', 'RUB'); $(this).parent().parent().submit();">
        <input type="hidden" name="currency_code" value="">
    <input type="hidden" name="redirect" value="http://ceramist.biz/">
  </div>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SlideShow    21

Ох, ну я и косячнул, позорище, извиняйте...

 

catalog/view/theme/default/image/

 

Т.е. в коде что я вам подсказал нужно поправить путь к картинкам, если у вас точно тема default:

<img src="catalog/view/theme/default/image/<?php echo $currency['code']; ?>.png" alt="<?php echo $currency['title']; ?>" title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();" />

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ateroid    0

 

Ох, ну я и косячнул, позорище, извиняйте...

 

catalog/view/theme/default/image/

 

Т.е. в коде что я вам подсказал нужно поправить путь к картинкам, если у вас точно тема default:

<img src="catalog/view/theme/default/image/<?php echo $currency['code']; ?>.png" alt="<?php echo $currency['title']; ?>" title="<?php echo $currency['title']; ?>" onclick="$('input[name=\'currency_code\']').attr('value', '<?php echo $currency['code']; ?>'); $(this).parent().parent().submit();" />

Воо зашло, блин как так, я же тоже пробовал полный путь прописать, может файзила затупила. Теперь сработало как надо спасибо большое, Теперь можно и в css поднастроить этот селектор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу