2014-05-09 3 views
0

약 6 개의 다른 통화를 허용하는 웹 사이트를 설정하려고합니다. 나는 원래 Magento에 내장 된 통화 환율을 사용하여 이것을 아주 잘 수행 할 수 있었고 고객은 그들이 선호하는 통화를 선택할 수 있었고 모든 가격은 그 통화로 표시되었습니다. 그러나 나는 최근에 그 통화 Magento에있는 가격이 기본 통화 (이 경우 GBP)로 거래를 처리 할 것임에도 불구하고. 실제로 그것은 내 의견으로는 매우 나쁜 것 인 주문 말미까지 바로 이런 일이 일어날 것이라고 고객에게 말하지 않으며 일부 고객은 환율 변환을 위해 은행에서 더 많은 대금을 청구 할 수 있습니다.하위 도메인이없는 단일 도메인의 Magento 여러 통화

6 개 통화로 지불 할 수 있도록 PayPal을 구성 했으므로 고객이 해당 통화로 지불 할 수 있기를 바랍니다.

나는 Magento가 만들어진 방식 때문에 이것이 쉬운 일이 아니라 대신 각각의 통화에 대해 새로운 '웹 사이트'를 설정해야한다는 것을 알아 냈습니다. 그런 다음 각각에 대해 기본 통화를 설정할 수 있습니다. 웹 사이트. 이것에 대한 튜토리얼은 각 웹 사이트마다 고유 한 URL (예 : us.website.com 또는 website.com/us)을 사용하도록 강요하지만이 경우에는 수행되지 않으며 기본 URL을 하나만 사용하려면 모든 정보가 필요합니다. website.com .

가능하면 누구에게 알리십니까?

index.php에 다음을 수동으로 추가하여 저장소를 변경할 수 있었고 세션에서 사용자 선택을 기억한 다음 여기에 올바른 저장소를로드하는 것이 가능한 한 가지 해결책이 있다고 생각했습니다. 이것이 효율적일까요, 아니면 제가 간과했던 더 좋은 방법이 있습니까?

/* Override store code */ 
if (isset($_GET['code'])) 
{ 
    $mageRunCode = $_GET['code']; 
    $mageRunType = 'website'; 
} 

Mage::run($mageRunCode, $mageRunType); 

웹 사이트에서 Magento Community Edition v1.7.0.2를 실행 중입니다.

답변

0

나는 단순히 어떤 젠토 URL의 끝에 ?currency=usd을 추가하여 웹 사이트를 변경할 수 있습니다이와 index.php

if (isset($_GET["currency"]) || !isset($_COOKIE["basewebsite"])) 
{ 
     // List of available stores 
     $stores = array('usd','aud','eur'); 
     $website = 'base'; // Default store ID 

     if (isset($_GET['currency']) && in_array($_GET['currency'], $stores)) 
     { 
      $website = $_GET['currency']; 
     } 

     // Set cookie to remember selection 
     setcookie("basewebsite", $website); 
     $_COOKIE['basewebsite'] = $website; 
} 
else 
{ 
     $website = $_COOKIE['basewebsite']; 
} 

/* Store or website code */ 
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : $website; 

/* Run store or run website */ 
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'website'; 

Mage::run($mageRunCode, $mageRunType); 

에 다음과 유사한 사용하여이 무언가를 달성 할 수 있었다. 선택 사항은 쿠키에 의해 기억되고 올바른 웹 사이트에는 추가 요청이로드됩니다.

이 질문은 많은 의견을받지 못했지만 누군가가 더 나은 해결책을 발견한다면 알려주세요.

관련 문제