切换cookie true false magento

时间:2016-07-05 15:29:39

标签: javascript php jquery magento cookies

当用户按下我的法师商店上的按钮以显示和隐藏增值税时,我使用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,我似乎无法理解为什么会这样。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

因为cookie被保存为字符串。字符串&#34; false&#34; 评估为 true 。所以你需要设置实际的字符串值并进行比较。

此帖中的更多信息:jquery cookie set value to boolean true