1

在 CS 购物车(基于 PHP 和 MySQL 的购物车)中,我正在尝试为付款方式添加配置字段。

文本输入字段在输入后被保存。但是对于复选框,他们不会。

在付款方式的 HTML 模板 (.tpl) 文件中,我设置了此复选框:

<div class="control-group">
    <label class="control-label" for="enable_test">Test?</label>
    <div class="controls">
        <input type="checkbox" class="checkbox" name="payment_data[processor_params][enable_test]" id="enable_test" value="{$processor_params.enable_test}">
    </div>
</div>

复选框显示在配置区域。但是在检查并保存配置后未设置复选框状态。

文本字段中的值很容易设置:

<div class="control-group">
    <label class="control-label" for="key">{__("key")}:</label>
    <div class="controls">
        <input type="text" name="payment_data[processor_params][key]" id="key" value="{$processor_params.key}"  size="60">
    </div>
</div>

如何保存复选框的输入值?我的 HTML 不正确吗?

4

1 回答 1

1

应该是这样的:

<div class="control-group">
    <label class="control-label" for="enable_test">Test?</label>
    <div class="controls">
        <input type="checkbox" class="checkbox" name="payment_data[processor_params][enable_test]" id="enable_test" value="{$processor_params.enable_test}" {if isset($processor_params.enable_test) and ($processor_params.enable_test neq '')checked="checked"{/if}>
    </div>
</div>

对于复选框,仅分配值是不够的,但如果您希望它被选中,您还需要设置选中状态。

于 2014-05-28T08:45:36.420 回答