如何根据库存值更改opencart中的“购买”按钮颜色?

时间:2014-02-05 19:16:06

标签: php jquery html opencart

根据库存状态更改产品中按钮颜色的最佳方法是什么?

我已经通过“阅读”innerHTML成功地使用javascript完成了它,如果它是缺货的话,我将按钮背景设为绿色,否则为蓝色......

但如果有5种状态和3种翻译,则会产生一个大而“丑陋”的if子句。

我的问题是商店是多语言的,我想知道我怎么能不用js读取innerHTML但只读取状态值(来自模型或控制器......)?

之前的“虚拟”解决方案是:

$(document).ready(function() {
    var stck = $('#stocktxt').html();
    if(stck.indexOf("5-") != -1){
        $("#button-cart").css("background-color","#f59525");
    }
});

1 个答案:

答案 0 :(得分:1)

网站是如何生成的?我猜PHP!最好的方法是服务器根据库存状态动态地将样式应用于按钮。除非实时更新库存,否则应用样式客户端是低效的。显然股票数据存在于某个数据库中,您应该从中获取数据,而不是innerHTML。

<?php
//get stock value for your items
$someItemStock = 3;

function stockstyle($stock)
{
    if($stock > 5)
    {
        echo "highStock"
    }
    else if($stock < 5 && $stock > 2)
    {
        echo "medStock"
    }
    else if($stock < 2 && $stock > 0)
    {
        echo "lowStock"
    }
    else
    {
    echo "noStock"
    }
}

&GT;

然后在您的HTML项目中:

<button id="whatever this item" class="<?php stockstyle($someItemStock) ?>">