代码之家  ›  专栏  ›  技术社区  ›  Eran Kampf

Magento的当前用户?

  •  57
  • Eran Kampf  · 技术社区  · 16 年前

    我正在自定义产品视图页面,需要显示用户名。 如何访问当前用户的帐户信息(如果他已登录)以获取姓名等。 ?

    10 回复  |  直到 16 年前
        1
  •  94
  •   Pragnesh Chauhan    12 年前

    在“app/code/core/Mage/Page/Block/Html/Header.php”下找到:

    public function getWelcome()
    {
        if (empty($this->_data['welcome'])) {
            if (Mage::app()->isInstalled() && Mage::getSingleton('customer/session')->isLoggedIn()) {
                $this->_data['welcome'] = $this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
            } else {
                $this->_data['welcome'] = Mage::getStoreConfig('design/header/welcome');
            }
        }
    
        return $this->_data['welcome'];
    }
    

    所以看起来像 Mage::getSingleton('customer/session')->getCustomer() 将获取您当前登录的客户;)

    要获取当前登录的管理员:

    Mage::getSingleton('admin/session')->getUser();
    
        2
  •  24
  •   Mukesh Chapagain    14 年前

    看看辅助类: Mage_客户_帮助_数据

    要简单地获取客户名称,您可以编写以下代码:-

    $customerName = Mage::helper('customer')->getCustomerName();
    

    有关客户实体id、网站id、电子邮件等的更多信息,您可以使用 获取客户 功能。以下代码显示了您可以从中获得什么:-

    echo "<pre>"; print_r(Mage::helper('customer')->getCustomer()->getData()); echo "</pre>";
    

    从辅助类中,您还可以获取有关客户登录网址、注册网址、注销网址等的信息。

    已登录In 在助手类中的函数中,您还可以检查客户是否已登录。

        3
  •  10
  •   Francis Kim    9 年前

    您可以通过以下方式从会话中获取当前登录客户名称:

    $customer = Mage::getSingleton('customer/session')->getCustomer();
    

    这将返回当前登录客户的客户详细信息。

    现在,您可以使用以下命令获取客户名称 getName()

    echo $customer->getName();
    
        4
  •  9
  •   Pragnesh Chauhan    12 年前

    对于电子邮件,请使用此代码

    $email=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getEmail());
    
    echo $email;
    
        5
  •  5
  •   Shorabh    7 年前
    $customer = Mage::getSingleton('customer/session')->getCustomer();
        $customerAddressId = Mage::getSingleton('customer/session')->getCustomer()->getDefaultBilling();
        $address = Mage::getModel('customer/address')->load($customerAddressId);
        $fullname = $customer->getName();
        $firstname = $customer->getFirstname();
        $lastname = $customer->getLastname();
        $email = $customer->getEmail();
        $taxvat = $customer->getTaxvat();
        $tele = $customer->getTelephone();
        $telephone = $address->getTelephone();
        $street = $address->getStreet();
        $City = $address->getCity();
        $region = $address->getRegion();
        $postcode = $address->getPostcode();
    

    获取客户默认账单地址

        6
  •  4
  •   stealthyninja michkra    13 年前

    用户名是相同的,但有一些修改:

    $user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
    echo $user;
    
        7
  •  4
  •   CRUSADER    12 年前

    您可以通过以下方式访问登录用户的所有信息。

    $customer_data=Mage::getSingleton('customer/session')->getCustomer();
    
    
    echo "<pre>" print_r($customer_data);
    
        8
  •  2
  •   sra Jon    13 年前

    这种方式:

    $email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
    echo $email;
    
        9
  •  2
  •   Manikandan Arunachalam    10 年前

    简单地说,

    $current_customer = $this->_getSession()->getCustomer();
    

    这将返回客户对象,然后您可以从该客户对象中获取所有详细信息。

        10
  •  -5
  •   Ali    16 年前

    我暂时不知道,但请查看用户登录后页面标题中显示用户名等的文件。如果您打开模板提示(请参阅 this tutorial .

    当你找到这样的线时 "Hello <? //code for showing username?>" ,只需复制该行并将其显示在需要的位置