2016-04-19 23 views
3

ユーザーがログインしているかどうかを確認するには、次のコードがあります。顧客がまだログインしているにもかかわらず、顧客のエリア。Magentoの1.9ではMagento PHPがユーザーにログインしているかどうかをチェック

<?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> 
+1

どのバージョンを? – Martin

答えて

2

は、ユーザーが任意のコントローラまたはPHTMLにログインしているかどうかを確認したい場合、あなたは

<?php 
    if(! Mage::getSingleton('customer/session')->isLoggedIn()){ 
     //not logged in 
    }else{ 
     // logged in 
    } 
?> 

追加する必要がありますスーパーオブジェクトを強調するために重要な部分はこれです

Mage::getSingleton('customer/session') 
+1

彼が使っているコードを見てください。これはMagento 1.9ではなく、Magento 2です。彼はそれを指定したはずです。 – user3478148

1

これはブロックである)(なぜならエコー$ブロック - > getLinkAttributesの

です\ビュー\要素\ Htmlの\ Link.phpベンダー\ Magentoの\フレームワークで、$は上のブロックとして、それは呼び出されませんすべてのページで、が必要な場合はgetLinkAttributes()を手動で呼び出す必要があります。

1

チェックカスタマーはログに記録されていないか、ウェブサイト全体で

$om = \Magento\Framework\App\ObjectManager::getInstance(); 
/** @var \Magento\Framework\App\Http\Context $context */ 
$context = $om->get('Magento\Framework\App\Http\Context'); 
/** @var bool $isLoggedIn */ 
$isLoggedIn = $context->getValue(\Magento\Customer\Model\Context::CONTEXT_AUTH); 

    if($isLoggedIn == 1){ 
    //Customer is Logged In 
    } 
0

があなたのクエリを解決するために、次のコードを使用しています。

<?php 
$objectManagerlogin = \Magento\Framework\App\ObjectManager::getInstance(); 
$customerSession = $objectManagerlogin->get('Magento\Customer\Model\Session'); 
$baseurl = $objectManagerlogin->get('Magento\Store\Model\StoreManagerInterface')->getStore(0)->getBaseUrl(); 
?> 
<?php if($customerSession->isLoggedIn()) { ?> 
    <a href="<?php echo $baseurl .'customer/account/logout'; ?>">LOGOUT</a> 
<?php }else { ?> 
<a href="<?php echo $baseurl .'customer/account/login'; ?>">LOGIN</a>  
<?php 
} 
?> 
0

は、ユーザーがログインしているかどうかを確認するには、次のコードを使用します。Magentoのの

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); 
$customerSession = $objectManager->get('Magento\Customer\Model\Session'); 

if($customerSession->isLoggedIn()) 
{ 
// your code 
} 
関連する問題