【问题标题】:Toggle cookie true false magento切换 cookie 真假 magento
【发布时间】:2016-07-05 15:29:39
【问题描述】:

当用户按下我的法师商店上的按钮以显示和隐藏增值税价格时,我使用 jquery cookie 来删除 cookie。

我现在的js是这样的:

$j('.nav-customer-vat a').click(function(){

    $j(this).text($j(this).text() == 'Show VAT' ? 'Hide VAT' : 'Show VAT');
    $j(this).toggleClass('active');

    if($j(this).text() == 'Show VAT'){
        console.log('show');
        $j.cookie("showVat", false, { path: '/' });     
    } else if($j(this).text() == 'Hide VAT'){
        $j.cookie('showVat', true)
        console.log('hide');
    } 
}

然后我在前端使用以下 magento cookie getModel 来测试 cookie 是真还是假:

<?php  $cookie = Mage::getModel('core/cookie')->get('showVat'); ?>
        <?php if($cookie){ ?>
        <a href="#" class="display-vat"><?php echo $this->__('Hide VAT'); ?></a>
        <?php } else { ?>
        <a href="#" class="display-vat"><?php echo $this->__('Show VAT'); ?></a>
    <?php } ?>

但是这似乎只工作一次,然后每次点击它总是返回 false,我似乎无法弄清楚为什么会这样。任何帮助都会很棒。

【问题讨论】:

    标签: javascript php jquery magento cookies


    【解决方案1】:

    这是因为 cookie 被保存为字符串。字符串 "false" 的计算结果为 true。所以你需要设置实际的字符串值并进行比较。

    更多信息在这篇文章中:jquery cookie set value to boolean true

    【讨论】:

    • 所以为了澄清 Aximus 就在上面,我所做的更改如下:将 cookie 更改为:$j.cookie('showVat', 'enabled', { path: '/ ' }); if($j(this).text() == '显示增值税'){ $j.cookie("showVat", 'disable', { path: '/' }); } ' 然后在 php 谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    相关资源
    最近更新 更多