在OpenCart结帐中,如何更改月份名称?即“一月”到“01-一月”


In OpenCart checkout, how to change the names of months? I.e. "January" to "01-January"?

OpenCart 2.0.3.1

在单页结帐中,有一个信用卡输入表单。尝试更改月份名称 - 从"一月"更改为"01-1月",依此类推。

找到负责信用卡表单 (authorizenet_aim.tpl) 的模块,该模块具有以下代码:

<select name="cc_expire_date_month" id="input-cc-expire-date" class="form-control">
    <?php foreach ($months as $month) { ?>
        <option value="<?php echo $month['value']; ?>">
            <?php echo $month['text']; ?>
        </option>
    <?php } ?>
</select>

所以它从某个地方获取$month["文本"],但在哪里?我尝试了全站搜索,并替换了我遇到的每个对"一月"的引用,但它似乎没有结果。我错过了什么?我应该在哪里寻找?

尝试用以下内容替换代码:

<?php $month_num = ["January" => "01-January", "February" => "02-February", "March" => "03-March", "April" => "04-April", "May" => "05-May", "June" => "06-June", "July" => "07-July", "August" => "08-August", "September" => "09-September", "October" => "10-October", "November" => "11-November", "December" => "12-December"]; ?>
<select name="cc_expire_date_month" id="input-cc-expire-date" class="form-control">
    <?php foreach ($months as $month) { ?>
        <option value="<?php echo $month['value']; ?>">
            <?php echo $month_num[$month['text']]; ?>
        </option>
    <?php } ?>
</select>

发生了什么事情?

PHP 通过引用带有不需要的值的键和所需值的值的键来动态替换月份名称,因为它们被回显出来。这允许在不跟踪原始阵列来源的情况下切换月份。