簡體   English   中英

$ logged返回1,無論用戶是否登錄

[英]$logged is returning 1 regardless if user logged in or not

我這樣向Smarty添加了$ logged變量,以檢查用戶是否登錄

$this->smarty->assign(array(      
                    'wppopup' => $wppopup,  
                    'logged' => $this->context->customer->isLogged(),          
                    'default_lang' => (int)$this->context->language->id,
                    'image_width' => Configuration::get('WPPOPUP_IMAGE_WIDTH'),
                    'image_height' => Configuration::get('WPPOPUP_IMAGE_HEIGHT'),
                    'id_lang' => $this->context->language->id,
                    'wppopup_image' => !Configuration::get('WPPOPUP_IMAGE_DISABLE') && file_exists('modules/wppopup/wppopup_image_'.(int)$id_shop.'.jpg'),
                    'image_path' => $this->_path.'wppopup_image_'.(int)$id_shop.'.jpg'
                )
        );

但是,當我在模板文件中使用{if $logged} ,它返回空值。 其他變量運行良好。

有沒有遺漏的東西?

這不是一個聰明的問題。 您應該在要分配給“已記錄”的PHP文件中檢入isLogged方法返回的值。

使用簡單

var_dump($this->context->customer->isLogged());

確保此方法返回什么值,以便您進行檢查。

當我在PHP中使用時

$smarty->assign(array(                          
                    'logged1' => true,        
                    'logged2' => false
                )
        );

並在Smarty文件中:

{if $logged1}
is logged
{/if}

{if $logged2}
is logged too
{/if}

輸出是

被記錄

因此,如果為Smarty變量分配簡單的true和false,則可以正常工作,因此isLogged方法可能會返回其他一些值。

這樣嘗試

if($this->context->customer->isLogged() == true){
    $isLogged = "true";
}else{
    $isLogged = "false";
}

$this->smarty->assign(array(
    'wppopup' => $wppopup,  
    'logged' => $isLogged,  
    'default_lang' => (int)$this->context->language->id,
    'image_width' => Configuration::get('WPPOPUP_IMAGE_WIDTH'),
    'image_height' => Configuration::get('WPPOPUP_IMAGE_HEIGHT'),
    'id_lang' => $this->context->language->id,
    'wppopup_image' => !Configuration::get('WPPOPUP_IMAGE_DISABLE') && file_exists('modules/wppopup/wppopup_image_'.(int)$id_shop.'.jpg'),
    'image_path' => $this->_path.'wppopup_image_'.(int)$id_shop.'.jpg')
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM