我有以下代码来查看用户是否已登录.它有效,因为它在客户区域内工作(用户已登录),但即使客户仍在登录,也无法在客户区域外工作.
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerSession = $objectManager->get('Magento\Customer\Model\Session');
if($customerSession->isLoggedIn()) { ?>
<li class="link wishlist" data-bind="scope: 'wishlist'">
<a <?php /* @escapeNotVerified */ echo $block->getLinkAttributes() ?>><?php echo $block->escapeHtml($block->getLabel()) ?>
<!-- ko if: wishlist().counter -->
<span data-bind="text: wishlist().counter" class="counter qty"></span>
<!-- /ko -->
</a>
</li>
<li>Hello World</li>
?>
<?php
}
else {
?>
<li>Not logged in</li>
<?php
}
?>
<script type="text/x-magento-init">
{
"*": {
"Magento_Ui/js/core/app": {
"components": {
"wishlist": {
"component": "Magento_Wishlist/js/view/wishlist"
}
}
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
在magento 1.9中,如果要检查用户是否登录了任何控制器或phtml,则需要添加
<?php
if( ! Mage::getSingleton('customer/session')->isLoggedIn()){
//not logged in
}else{
// logged in
}
?>
Run Code Online (Sandbox Code Playgroud)
拓展超级对象的重要部分是这个
Mage::getSingleton('customer/session')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10129 次 |
| 最近记录: |