Перейти к содержимому

Реферальная программа Мегаплана


Проблема с выводом своей валюты в магазине

#1 phpuser

phpuser
  • Пользователь
  • 520 сообщений
  • Репутация: 8
0

Отправлено 06 Июнь 2012 - 21:54

У меня стоит на вордпрессе плагин магазина woocommerce который мне в принципе очень понравился.
Начал его допиливать под свои нужды и столкнулся вот с такой проблемой не могу добавить свою валюту, в нём имеется набор разных популярны валют, да вот только украинской гривны нет!

2.jpg

Начал искать файл в котором хранятся все выше указанные валюты и нашёл:
'options' => array_unique(apply_filters('woocommerce_currencies', array(
   'USD' => __( 'US Dollars ($)', 'woocommerce' ),
   'UAH' => __( 'Ukraine (UAH)', 'woocommerce' ),
   'GBP' => __( 'Pounds Sterling (£)', 'woocommerce' ),
   'AUD' => __( 'Australian Dollars ($)', 'woocommerce' ),
   'BRL' => __( 'Brazilian Real ($)', 'woocommerce' ),
   'CAD' => __( 'Canadian Dollars ($)', 'woocommerce' ),
   'CZK' => __( 'Czech Koruna (Kč)', 'woocommerce' ),
   'DKK' => __( 'Danish Krone', 'woocommerce' ),
   'HKD' => __( 'Hong Kong Dollar ($)', 'woocommerce' ),
   'HUF' => __( 'Hungarian Forint', 'woocommerce' ),
   'ILS' => __( 'Israeli Shekel', 'woocommerce' ),
   'RMB' => __( 'Chinese Yuan (¥)', 'woocommerce' ),
   'JPY' => __( 'Japanese Yen (¥)', 'woocommerce' ),
   'MYR' => __( 'Malaysian Ringgits (RM)', 'woocommerce' ),
   'MXN' => __( 'Mexican Peso ($)', 'woocommerce' ),
   'NZD' => __( 'New Zealand Dollar ($)', 'woocommerce' ),
   'NOK' => __( 'Norwegian Krone', 'woocommerce' ),
   'PHP' => __( 'Philippine Pesos', 'woocommerce' ),
   'PLN' => __( 'Polish Zloty', 'woocommerce' ),
   'SGD' => __( 'Singapore Dollar ($)', 'woocommerce' ),
   'SEK' => __( 'Swedish Krona', 'woocommerce' ),
   'CHF' => __( 'Swiss Franc', 'woocommerce' ),
   'TWD' => __( 'Taiwan New Dollars', 'woocommerce' ),
   'THB' => __( 'Thai Baht', 'woocommerce' ),
   'TRY' => __( 'Turkish Lira (TL)', 'woocommerce' ),
   'ZAR' => __( 'South African rand (R)', 'woocommerce' ),
   ))

Добавил свою валюту в админке всё отобразилось, но на сайте сначала не отображалась.
Немного покурив интренета, нашёл похожий трабл, суть заключалась в том что данный плагин не распознавал символ UAH.
Вставил следующий код который исправил данную фитчу:
add_filter( 'woocommerce_currencies', 'add_inr_currency' );
add_filter( 'woocommerce_currency_symbol', 'add_inr_currency_symbol' );

function add_inr_currency( $currencies ) {
	$currencies['UAH'] = 'UAH';
	return $currencies;
}

function add_inr_currency_symbol( $symbol ) {
$currency = get_option( 'woocommerce_currency' );
switch( $currency ) {
  case 'UAH': $symbol = 'UAH '; break;
}
return $symbol;
}

После чего получилось добится следующего результата:
3.jpg

Но этого мало необходимо что бы вместо UAH выводилось Грн
По моей логике я подправил предидущий код следующим образом:
add_filter( 'woocommerce_currencies', 'add_inr_currency' );
add_filter( 'woocommerce_currency_symbol', 'add_inr_currency_symbol' );
function add_inr_currency( $currencies ) {
	$currencies['UAH'] = 'UAH';
	return $currencies;
}
function add_inr_currency_symbol( $symbol ) {
$currency = get_option( 'woocommerce_currency' );
switch( $currency ) {
  case 'UAH': $symbol = 'Грн '; break;
}
return $symbol;
}

И сразу же накнулся на проблему с кодировкой.
1.JPG
Не могу сообразить как решить данную проблему, кто соображает подскажите как решить.

Прикрепленные изображения

  • 3.jpg
  • 2.jpg
  • 1.JPG

 

 

  • 0
Вникаю в тему создания сайтов...


#2 shaddad

shaddad
  • Пользователь
  • 42 сообщений
  • Репутация: 0

Отправлено 07 Июнь 2012 - 03:27

Попробуйте сохранить файл в кодировке UTF-8 без BOOM (например, через notepad++), так как wordpress по стандарту только эту кодировку воспринимает.
  • 0

#3 phpuser

phpuser
    Topic Starter
  • Пользователь
  • 520 сообщений
  • Репутация: 8

Отправлено 07 Июнь 2012 - 20:30

Не помогло.
  • 0
Вникаю в тему создания сайтов...


#4 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 07 Июнь 2012 - 23:11

А взглянуть на проблемную страницу и прикрепить файл этой страницы можно?
  • 0


#5 shaddad

shaddad
  • Пользователь
  • 42 сообщений
  • Репутация: 0

Отправлено 08 Июнь 2012 - 15:46

По идеи это всё кодировка. Если не utf-8, то тогда вам надо посмотреть что у вас задано по стандарту. "Параметры - чтение" посмотрите там. Если же стоит кодировка UTF-8, тогда, возможно, или вы что-то неправильно делаете или проблема в другом. А вообще да, не плохо было бы если вы прикрепили бы файл.
  • 0

#6 phpuser

phpuser
    Topic Starter
  • Пользователь
  • 520 сообщений
  • Репутация: 8

Отправлено 10 Июнь 2012 - 11:27

Файл в котором хранятся все валюты:
Прикрепленный файл  woocommerce-admin-settings.php   56,94К   Количество загрузок: 127

Файл локализации который к сожалению почему то не переводит валюту:

Прикрепленный файл  woocommerce-ru_RU.txt   308,29К   Количество загрузок: 2172

Прикрепленные файлы


  • 0
Вникаю в тему создания сайтов...


#7 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 10 Июнь 2012 - 11:49

И в каком из предложенных файлов искать этот код?
add_filter( 'woocommerce_currencies', 'add_inr_currency' );
add_filter( 'woocommerce_currency_symbol', 'add_inr_currency_symbol' );
function add_inr_currency( $currencies ) {
	    $currencies['UAH'] = 'UAH';
	    return $currencies;
}
function add_inr_currency_symbol( $symbol ) {
$currency = get_option( 'woocommerce_currency' );
switch( $currency ) {
  case 'UAH': $symbol = 'UAH '; break;
}
return $symbol;
}
По теме. Файлы, не имеющие кириллических символов, редактор будет сохранять в кодировке ANSI... как бы Вы не пытались сохранить его в юникоде. Файл, который Вы прикрепили - woocommerce-admin-settings.php, тому подтверждение. Тем не менее, такие файлы могут подключать другие файлы с кириллическим содержанием. Когда-то сам споткнулся на таком моменте :)
Попробуйте в файлах без кириллицы добавить любой комментарий кириллицей, например:
// просто коммент
и после этого сохранить файл в кодировке UTF8 without BOM. Также можно в таких файлах задать кодировку заголовком, который пропишите в самом верху файла:
header("Content-type: text/html; Charset=utf-8");

  • 0


#8 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 14 Июнь 2012 - 09:38

И тишина... помогли-не помогли советы - остается лишь гадать...
phpuser, обычно принято отписываться на форуме по решению проблемы. Если совет помог, то сообщите об этом, чтобы те, у кого возникнет аналогичная проблема, знали как ее решать... если не помог и нашли собственное решение - опять же, отпишитесь, как удалось решить вопрос... снова таки будет польза в решении аналогичной проблемы... а так получается чисто потребительское отношение с Вашей стороны.
  • 1


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru