Dostosowuję stronę widoku produktu i muszę wyświetlić nazwę użytkownika. Jak uzyskać dostęp do informacji o koncie bieżącego użytkownika (jeśli jest on zalogowany), aby uzyskać nazwę itp.?Bieżący użytkownik w Magento?
Odpowiedz
znaleźć w „app/code/core/Mage/Strona/pustak/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'];
}
Wygląda na to, że Mage::getSingleton('customer/session')->getCustomer()
dostanie prąd zalogowany klienta;)
Aby aktualnie zalogowany admin:
Mage::getSingleton('admin/session')->getUser();
Nie znam tego z mojej głowy, ale spójrz w plik, który pokazuje nazwę użytkownika itp. W nagłówku strony po zalogowaniu użytkownika. Może to pomóc, jeśli włączysz szablon wskazówki (patrz this tutorial.
Po znalezieniu linii, takich jak "Hello <? //code for showing username?>"
, wystarczy skopiować tą linią i pokazać je gdzie trzeba
Kodeksu pokazując, że jest Php echo $ this-> getWelcome()?> W header.phtml. Nie mam pojęcia, skąd bierze nazwę ... –
Jeśli możesz edytować swoje pytanie i dodawać do niego dane wyjściowe tej funkcji, mogę napisać dla ciebie kod PHP, aby wyodrębnić z niego nazwę użytkownika. Magento ma gazillions plików, więc może być dość trudno powiedzieć, gdzie konkretna funkcja jest przechowywana –
Dzięki, ale mogę napisać kod, który wyodrębnia nazwę z łańcucha powitalnego. Jednak miałem nadzieję, że będę mógł odczytać inne dane poza nazwą - konkretnie unikalny identyfikator konta użytkownika. –
na email użyć tego kodu
$email=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getEmail());
echo $email;
Dla użytkownika jest to samo z pewnymi zmianami:
$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;
W ten sposób:
$email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
echo $email;
Wystarczy popatrzeć na klasy pomocnika: Mage_Customer_Helper_Data
po prostu uzyskać nazwę klienta, można napisać następujący kod: -
$customerName = Mage::helper('customer')->getCustomerName();
Aby uzyskać więcej informacji na temat jednostki klienta id, identyfikator strony, adres e-mail itp. można użyć funkcji getCustomer. Poniższy kod pokazuje, co można dostać od niego: -
echo "<pre>"; print_r(Mage::helper('customer')->getCustomer()->getData()); echo "</pre>";
Z klasy pomocnika, można również uzyskać informacje na temat klienta URL logowania, wylogowania zarejestrować adres URL, adres URL, itp
Z isLoggedIn funkcja w klasie pomocnika, można również sprawdzić, czy klient jest zalogowany, czy nie.
Następujący sposób umożliwia dostęp do wszystkich informacji zalogowanego użytkownika.
$customer_data=Mage::getSingleton('customer/session')->getCustomer();
echo "<pre>" print_r($customer_data);
$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();
Proszę dodać objaśnienie do swojego kodu. W przeciwnym razie nie jest to warte wiele. – lxg
do czego dokładnie potrzebujesz wyjaśnienia? @shorabh podał listę wszystkich funkcji potrzebnych do pobrania danych o klientach ... Każdy programista powinien to zrozumieć, a żaden programista nie powinien samemu dotykać kodu magento. –
Wystarczy,
$current_customer = $this->_getSession()->getCustomer();
ta zwraca obiekt klienta, można uzyskać wszystkie dane z tego obiektu klienta.
można uzyskać bieżącą nazwę logowania klienta od sesji w następujący sposób:
$customer = Mage::getSingleton('customer/session')->getCustomer();
ta zwróci dane klientów bieżącego logowania klienta.
Teraz można uzyskać nazwę klienta za pomocą getName()
echo $customer->getName();
- 1. Magento przekazuje bieżący identyfikator produktu do modułu
- 2. W .NET, sprawdź, czy bieżący użytkownik może zapisywać do katalogu
- 3. Pobierz identyfikator tożsamości ASP.NET Bieżący użytkownik w widoku
- 4. Uruchom proces z usługi systemu Windows jako bieżący użytkownik.
- 5. Jak uzyskać bieżący zalogowany użytkownik przy użyciu Wordpress Rest Api?
- 6. Jak uzyskać bieżący zalogowany użytkownik systemu Windows z MSBuild
- 7. Magento uzyskać kod języka w pliku szablonu
- 8. Jak ustawić ciasteczko w Magento
- 9. Jak tworzyć niestandardowe wiadomości w magento, gdy użytkownik dodaje element do koszyka?
- 10. domyślny identyfikator sklepu witryny magento
- 11. Przekierowanie w magento
- 12. Lokalizacja head.phtml w Magento
- 13. Ścieżka skóry w Magento?
- 14. Symbol waluty w Magento
- 15. Magento skin_js w page.xml
- 16. Licznik trafień w magento
- 17. bieżący numer linii w Lua
- 18. Bieżący segment URI w CodeIgniter
- 19. Zaktualizuj bieżący fragment w FragmentPagerAdapterie
- 20. Jak sprawdzić, czy bieżący użytkownik ma prawo do zrestartowania usługi systemu Windows?
- 21. Fontawesome użytkownik w zastępczym
- 22. Ładowanie html Magento dla dzieci poza Magento
- 23. Jak uzyskać listę stron cms w Magento?
- 24. Znajdź bieżący język użytkownika
- 25. Zastąp bieżący proces
- 26. Pobierz bieżący URL (UIWebView)
- 27. Haskell: Wykryj bieżący OS
- 28. Vim: wykonać bieżący plik?
- 29. Pobierz bieżący element
- 30. Mongoid: belongs_to użytkownik i has_one użytkownik
'Mage :: app() -> isInstalled()' jest przestarzałe, możesz teraz użyć 'Mage :: isInstalled()'. – mhyassin