我正在测试以下简单的购物车:
在页面加载时,可以在firebug中看到:
GET http://conceptlogic.com/jcart/standalone-demo/jcart/config-loader.php?ajax=true
(正在调用config-loader.php)。在json输出中可以看出currencyCode是USD。 config-loader.php包含config.php,其中包含一个变量:
$config['currencyCode'] = '';
并在config-loader.php中:
// Use default values for any settings that have been left empty
if (!$config['currencyCode']) $config['currencyCode'] = 'USD';
因此,如果在config.php中将货币设置为空白,则默认值设置为" USD"。
如果我硬编码$ config [' currencyCode'] =' GBP'在config.php中,购物车正常显示所有值为GBP。
我的购物页面中有一个货币转换代码,其中包含变量$ curr,其值设置为货币代码,如AUD,GBP等......适用于不同的用户。用户可以选择他的货币,转换后的价值显示在购物车中。
我的购物页面:示例
<?php
$curr = "GBP";
include_once('jcart/jcart.php');
?>
<form method="post" action="" class="jcart">
<fieldset>
<input type="hidden" name="jcartToken" value="<?php echo $_SESSION['jcartToken'];?>" />
<input type="hidden" name="my-item-id" value="<?php echo $pid ; ?>" />
<input type="hidden" name="my-item-name" value="<?php echo $product['product_name']; ?>" />
<input type="hidden" name="my-item-price" value="<?php echo $sp ; ?>" />
<input type="image" src="AddtoCart.gif" alt="Add to Cart" value="add to cart" />
</fieldset>
</form>
我需要在config.php中将currencyCode的值设置为我的购物页面中的值,当用户点击添加到购物车按钮并在页面加载时调用config-loader.php ...
怎么可能......
更新
通过将新货币var 传递给ajax代码
来解决此问题var config = (function() {
var config = null;
$.ajax({
url: path + '/config-loader.php' + '?curr=' + currency,
data: {
"ajax": "true"
},
dataType: 'json',
async: false,
cache: false,
答案 0 :(得分:0)
试试这个,
if (!isset($config['currencyCode']) && !empty($config['currencyCode']))
$config['currencyCode'] = 'USD';
答案 1 :(得分:0)
如果我假设用户可以从下拉列表中选择货币,可能如下所示:
<select id="currency">
<option>GBP</option>
<option>USD</option>
<option>EUR</option>
</select>
然后,您希望将他们选择的任何选项传递给PHP脚本。所以,首先,在你的AJAX调用之前的javascript中:
// get the selected option
var currencyChosen = $('#currency').find(":selected").text();
// now pass it to the script
var config = $.ajax({
url: path + '/config-loader.php',
data: { "ajax": "true", "currencyCode" : currencyChosen }
...
})
将一个名为currencyCode
的变量发送到PHP脚本。它将在脚本中使用$code = $_GET['currencyCode'];
进行访问。