如何在成功登录magento 2.0后在标题中显示我的帐户链接

如何在成功登录magento 2.0后在标题中显示我的帐户链接,magento,login,header,toplink,Magento,Login,Header,Toplink,我想在登录后显示我的帐户 $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $customerSession = $objectManager->get('Magento\Customer\Model\Session'); if($customerSession->isLoggedIn()) { // display your link here } -

我想在登录后显示我的帐户

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $customerSession = $objectManager->get('Magento\Customer\Model\Session');
    if($customerSession->isLoggedIn()) {
       // display your link here 
    }
----------------------来自控制器-------------------

    $this->_objectManager->get('Magento\Customer\Model\Session');
            if($customerSession->isLoggedIn()) {
               // display your link here 
            }
----------------------来自控制器-------------------

    $this->_objectManager->get('Magento\Customer\Model\Session');
            if($customerSession->isLoggedIn()) {
               // display your link here 
            }

我们可以很容易地做到这一点,假设我们只需要在登录后显示我的帐户链接 我们必须覆盖自定义主题中的authorization.phtml文件,我们可以根据需要设置逻辑

app/design/frontend/Namespace/Customtheme/Magento_Customer/templates/account/link/ authorization.phtml
重写此文件后,我们可以将登录名-

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

/** @var \Magento\Customer\Block\Account\AuthorizationLink $block */

$objectManagerlogin = \Magento\Framework\App\ObjectManager::getInstance();
$baseurl = $objectManagerlogin->get('Magento\Store\Model\StoreManagerInterface')->getStore(0)->getBaseUrl();
$dataPostParam = '';
if ($block->isLoggedIn()) {
    $dataPostParam = sprintf(" data-post='%s'", $block->getPostParams());
}
?>
<?php if($block->isLoggedIn() && $baseurl || $block->isLoggedIn() ) : ?>
 <li class="authorization-link" >
    <a href="<?php echo $baseurl .'customer/account/logout'; ?>">Sign Out</a>
</li>
 <li class="authorization-link custom-top-link-myaccount-mobile" >
   <a href="<?php echo $baseurl .'customer/account/'; ?>">My Account</a>
</li>
<?php else : ?>
 <li class="authorization-link" data-label="<?= $block->escapeHtmlAttr(__('or')) ?>">
    <a <?= /* @noEscape */ $block->getLinkAttributes() ?><?= /* @noEscape */ $dataPostParam ?>>
        <?= $block->escapeHtml($block->getLabel()) ?>
    </a>
</li>
 <?php endif; ?>

如果登录后只需显示我的帐户链接,我们可以轻松做到这一点
我们必须覆盖自定义主题中的authorization.phtml文件,我们可以根据需要设置逻辑

app/design/frontend/Namespace/Customtheme/Magento_Customer/templates/account/link/ authorization.phtml
重写此文件后,我们可以将登录名-

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

/** @var \Magento\Customer\Block\Account\AuthorizationLink $block */

$objectManagerlogin = \Magento\Framework\App\ObjectManager::getInstance();
$baseurl = $objectManagerlogin->get('Magento\Store\Model\StoreManagerInterface')->getStore(0)->getBaseUrl();
$dataPostParam = '';
if ($block->isLoggedIn()) {
    $dataPostParam = sprintf(" data-post='%s'", $block->getPostParams());
}
?>
<?php if($block->isLoggedIn() && $baseurl || $block->isLoggedIn() ) : ?>
 <li class="authorization-link" >
    <a href="<?php echo $baseurl .'customer/account/logout'; ?>">Sign Out</a>
</li>
 <li class="authorization-link custom-top-link-myaccount-mobile" >
   <a href="<?php echo $baseurl .'customer/account/'; ?>">My Account</a>
</li>
<?php else : ?>
 <li class="authorization-link" data-label="<?= $block->escapeHtmlAttr(__('or')) ?>">
    <a <?= /* @noEscape */ $block->getLinkAttributes() ?><?= /* @noEscape */ $dataPostParam ?>>
        <?= $block->escapeHtml($block->getLabel()) ?>
    </a>
</li>
 <?php endif; ?>