2012-03-05 5 views
0

장바구니에있는 언어와 통화를 관련시키는 방법에 대해 누구나 내게 대답 할 수 있습니까? 내 말은 그 언어에 대한 통화가 바뀌면 그 국가도 바뀝니다.장바구니 언어 및 통화 열기

나는 모든 장소에서 수색했지만 찾지 못했습니다. 어느 누구도 그런 경험을 할 수 있습니까?

감사합니다.

+0

당신은 프런트 엔드에 두 가지를 결합하려고합니까? 예 : 고객이 contry를 선택하면 자동으로 통화가 선택됩니까? – CarpeNoctumDC

+0

내가 원했던 바로 그 말이 맞습니다. – mutahir

+1

OpenCart의 버전은 무엇입니까? 당신은 본질적으로 양쪽 모두를 변경하기 위해 컨트롤러를 편집해야합니다 ... 몇 통화 만 처리하는 경우 쌍을 하드 코딩 할 수 있습니다. 그렇지 않은 경우 언어 - 통화 합성 테이블을 만들어야합니다 ... OC의 버전과 사용하는 언어의 종류를 알려주십시오 – CarpeNoctumDC

답변

2

당신이 그런 일을 위해 컨트롤러/일반/header.php에게

if (($this->request->server['REQUEST_METHOD'] == 'POST') && isset($this->request->post['language_code'])) { 
     $this->session->data['language'] = $this->request->post['language_code']; 

     if (isset($this->request->post['redirect'])) { 
      $this->redirect($this->request->post['redirect']); 
     } else { 
      $this->redirect($this->url->link('common/home')); 
     } 
    } 

을 수정해야합니다 : 나는 그 대답에 유래 안에 알고

if (($this->request->server['REQUEST_METHOD'] == 'POST') && isset($this->request->post['language_code'])) { 
    $this->session->data['language'] = $this->request->post['language_code']; 
    $this->currency->set($this->request->post['currency_code']); 
    unset($this->session->data['shipping_methods']); 
    unset($this->session->data['shipping_method']); 
    if (isset($this->request->post['redirect'])) { 
     $this->redirect($this->request->post['redirect']); 
    } else { 
     $this->redirect($this->url->link('common/home')); 
    } 
    } 

하지만 난 다시 그것을 발견하지 않습니다 .

지금 ... 당신은 템플릿 header.tpl 수정해야합니다

<form name="language" action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"> 
    <div id="language"> 
     <img src="image/flags/se.png" alt="Svenska" title="Svenska" onclick="$('input[name=\'language_code\']').attr('value', 'se'); $('input[name=\'currency_code\']').attr('value', 'SEK'); $(this).parent().parent().submit();" /> 
     <img src="image/flags/dk.png" alt="Danish" title="Danish" onclick="$('input[name=\'language_code\']').attr('value', 'da').submit(); $(this).parent().parent().submit();" /> 
     <img src="image/flags/gb.png" alt="English" title="English" onclick="$('input[name=\'language_code\']').attr('value', 'en').submit(); $('input[name=\'currency_code\']').attr('value', 'GBP').submit(); $(this).parent().parent().submit();" /> 
     <input type="hidden" name="language_code" value="" /> 
     <input type="hidden" name="currency_code" value="" /> 
     <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" /> 
    </div> 
    </form> 

안부,

+0

최신 OC 1.5.6을 변경해야하지만 왜 : unset line? – Christian

+0

다음은 language.tpl에 만들어진 솔루션의 일부입니다. http://forum.opencart.com/viewtopic.php?t=50047 – Christian