IT/CMS

JigoShop 원화 추가 관련 수정 사항

kang2oon 2012. 7. 27. 14:34
728x90
반응형

Jigoshop은 기본적으로 각 국가별 환률 단위에 한국의 원화가 누락되어 있어 국내 가격 표시를 위해 추가적인 수정이 필요합니다. 

추후 결제와의 연동 단계에서 추가적인 프로그램적인 검증이 필요하겠지만, 관리자 화면의 설정이나 프론트 페이지의 원화 표기를 하기 위해서는 2가지 파일의 수정이 필요합니다. 


1. jigoshop/admin/jigoshop-admin-settings-options.php 
관리자 페이지의 설정값에 한국의 원화를 추가하기 위해 수정이 필요.
array(
	'name' => __('Currency', 'jigoshop'),
	'desc' 		=> sprintf( __("This controls what currency prices are listed at in the catalog, and which currency PayPal, and other gateways, will take payments in. See the list of supported <a target='_new' href='%s'>PayPal currencies</a>.", 'jigoshop'), 'https://www.paypal.com/cgi-bin/webscr?cmd=p/sell/mc/mc_intro-outside' ),
	'tip' 		=> '',
	'id' 		=> 'jigoshop_currency',
	'css' 		=> 'min-width:200px;',
	'std' 		=> 'KOR',
	'type' 		=> 'select',
	'options' => apply_filters('jigoshop_currencies', array(
		'KOR' => __('대한민국 (원)', 'jigoshop'),
		'AED' => __('United Arab Emirates dirham (&#1583;&#46;&#1573;)', 'jigoshop'),
		'AUD' => __('Australian Dollar (&#36;)', 'jigoshop'),
		'BRL' => __('Brazilian Real (&#82;&#36;)', 'jigoshop'),
		'CAD' => __('Canadian Dollar (&#36;)', 'jigoshop'),
		'CHF' => __('Swiss Franc (SFr.)', 'jigoshop'),
		'CNY' => __('Chinese yuan (&#165;)', 'jigoshop'),
		'CZK' => __('Czech Koruna (&#75;&#269;)', 'jigoshop'),
		'DKK' => __('Danish Krone (kr)', 'jigoshop'),
		'EUR' => __('Euro (&euro;)', 'jigoshop'),
		'GBP' => __('Pounds Sterling (&pound;)', 'jigoshop'),
		'HKD' => __('Hong Kong Dollar (&#36;)', 'jigoshop'),
		'HRK' => __('Croatian Kuna (&#107;&#110;)', 'jigoshop'),
		'HUF' => __('Hungarian Forint (&#70;&#116;)', 'jigoshop'),
		'IDR' => __('Indonesia Rupiah (&#82;&#112;)', 'jigoshop'),
		'ILS' => __('Israeli Shekel (&#8362;)', 'jigoshop'),
		'INR' => __('Indian Rupee (&#8360;)', 'jigoshop'),
		'JPY' => __('Japanese Yen (&yen;)', 'jigoshop'),
		'MXN' => __('Mexican Peso (&#36;)', 'jigoshop'),
		'MYR' => __('Malaysian Ringgits (RM)', 'jigoshop'),
		'NGN' => __('Nigerian Naira (&#8358;)', 'jigoshop'),
		'NOK' => __('Norwegian Krone (kr)', 'jigoshop'),
		'NZD' => __('New Zealand Dollar (&#36;)', 'jigoshop'),
		'PHP' => __('Philippine Pesos (&#8369;)', 'jigoshop'),
		'PLN' => __('Polish Zloty (&#122;&#322;)', 'jigoshop'),
		'RON' => __('Romanian New Leu (&#108;&#101;&#105;)', 'jigoshop'),
		'RUB' => __('Russian Ruble (&#1088;&#1091;&#1073;)', 'jigoshop'),
		'SEK' => __('Swedish Krona (kr)', 'jigoshop'),
		'SGD' => __('Singapore Dollar (&#36;)', 'jigoshop'),
		'THB' => __('Thai Baht (&#3647;)', 'jigoshop'),
		'TRY' => __('Turkish Lira (&#8356;)', 'jigoshop'),
		'TWD' => __('Taiwan New Dollar (&#36;)', 'jigoshop'),
		'USD' => __('US Dollar (&#36;)', 'jigoshop'),
		'ZAR' => __('South African rand (R)', 'jigoshop')
		)
	)
),
환률과 관련된 구문을 찾아 위의 소스 코드와 같이 'KOR' 필드를 추가하였습니다. 

2. jigoshop/jigoshop.php 
관리자 페이지의 설정값 만을 변경한다고 하여 프론트단의 내용이 변경이 되지 않아 소스를 추가로 검색하여 보니 환률에 대한 구문이 추가적으로 발견되어 해당 내역도 수정 진행다
function get_jigoshop_currency_symbol() {
	$currency = get_option('jigoshop_currency');
	$currency_symbol = '';
	switch ($currency) :
		case 'KOR' : $currency_symbol = '원'; break;
		case 'AED' : $currency_symbol = '&#1583;&#46;&#1573;'; break;
		case 'AUD' : $currency_symbol = '&#36;'; break;
		case 'BRL' : $currency_symbol = '&#82;&#36;'; break;
		case 'CAD' : $currency_symbol = '&#36;'; break;
		case 'CHF' : $currency_symbol = 'SFr.'; break;
		case 'CNY' : $currency_symbol = '&#165;'; break;
		case 'CZK' : $currency_symbol = '&#75;&#269;'; break;
		case 'DKK' : $currency_symbol = 'kr'; break;
		case 'EUR' : $currency_symbol = '&euro;'; break;
		case 'GBP' : $currency_symbol = '&pound;'; break;
		case 'HKD' : $currency_symbol = '&#36;'; break;
		case 'HRK' : $currency_symbol = '&#107;&#110;'; break;
		case 'HUF' : $currency_symbol = '&#70;&#116;'; break;
		case 'IDR' : $currency_symbol = '&#82;&#112;'; break;
		case 'ILS' : $currency_symbol = '&#8362;'; break;
		case 'INR' : $currency_symbol = '&#8360;'; break;
		case 'JPY' : $currency_symbol = '&yen;'; break;
		case 'MXN' : $currency_symbol = '&#36;'; break;
		case 'MYR' : $currency_symbol = 'RM'; break;
		case 'NGN' : $currency_symbol = '&#8358;'; break;
		case 'NOK' : $currency_symbol = 'kr'; break;
		case 'NZD' : $currency_symbol = '&#36;'; break;
		case 'PHP' : $currency_symbol = '&#8369;'; break;
		case 'PLN' : $currency_symbol = '&#122;&#322;'; break;
		case 'RON' : $currency_symbol = '&#108;&#101;&#105;'; break;
		case 'RUB' : $currency_symbol = '&#1088;&#1091;&#1073;'; break;
		case 'SEK' : $currency_symbol = 'kr'; break;
		case 'SGD' : $currency_symbol = '&#36;'; break;
		case 'THB' : $currency_symbol = '&#3647;'; break;
		case 'TRY' : $currency_symbol = '&#8356;'; break;
		case 'TWD' : $currency_symbol = '&#78;&#84;&#36;'; break;
		case 'USD' : $currency_symbol = '&#36;'; break;
		case 'ZAR' : $currency_symbol = 'R'; break;
		default    : $currency_symbol = '원;'; break;
	endswitch;
	return apply_filters('jigoshop_currency_symbol', $currency_symbol, $currency);
}
해당 부분에도 'KOR' 관련 구문을 추가 및 기본값(Default) 값 역시 변경. 만약 '원' 단위 대신 '₩' 기호를 사용하고 싶다면 '#8361;' 유니코드로 입력값을 변경합니다. 

각 국가별 환률 기호는 다음의 사이트를 참고하면 확인할 수 있습니다. 



728x90
반응형