سؤال

أقوم بتخصيص صفحة عرض المنتج وأحتاج إلى إظهار اسم المستخدم. كيف يمكنني الوصول إلى معلومات حساب المستخدم الحالي (إذا تم تسجيل الدخول) للحصول على الاسم وما إلى ذلك؟

هل كانت مفيدة؟

المحلول

تم العثور عليها ضمن "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();

نصائح أخرى

ألق نظرة على فئة المساعد: mage_customer_helper_data

للحصول على اسم العميل ببساطة ، يمكنك كتابة الرمز التالي:-

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

لمزيد من المعلومات حول معرف كيان العميل ، معرف موقع الويب ، البريد الإلكتروني ، إلخ. يمكنك استخدامه getCustomer وظيفة. يوضح الرمز التالي ما يمكنك الحصول عليه منه:-

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

من فئة المساعد ، يمكنك أيضًا الحصول على معلومات حول عنوان URL لتسجيل الدخول إلى العملاء ، وتسجيل عنوان URL ، وعنوان URL تسجيل الدخول ، إلخ.

من Isloggedin وظيفة في فئة المساعد ، يمكنك أيضًا التحقق مما إذا كان العميل قد تم تسجيل الدخول أم لا.

يمكنك الحصول على اسم عميل تسجيل الدخول الحالي من الجلسة بالطريقة التالية:

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

سيؤدي ذلك إلى إرجاع تفاصيل العميل لعميل تسجيل الدخول الحالي.

الآن يمكنك الحصول على اسم العميل باستخدام getName()

echo $customer->getName();

للبريد الإلكتروني ، استخدم هذا الرمز

$email=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getEmail());

echo $email;
$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();

احصل على عنوان الفواتير الافتراضي للعميل

لاسم المستخدم هو نفسه مع بعض التعديل:

$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;

الطريقة التالية يمكنك الوصول إلى جميع المعلومات من المستخدم المسجل.

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


echo "<pre>" print_r($customer_data);

This way:

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

Simply,

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

This returns the customer object, then you can get all the details from this customer object.

I don't know this off the top of my head, but look in the file which shows the user's name, etc in the header of the page after the user has logged in. It might help if you turned on template hints (see this tutorial.

When you find the line such as "Hello <? //code for showing username?>", just copy that line and show it where you need to

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top