Magento2: Najlepszy sposób na załadowanie klienta według identyfikatora klienta


15

Jak najlepiej załadować klienta według identyfikatora? korzystasz z interfejsu klienta lub fabryki klienta lub w inny sposób?
W większości rozwiązań, które znalazłem, odbywa się to poprzez bezpośrednie użycie objectManager(którego nigdy nie należy używać).

Odpowiedzi:


24

Zawsze lepiej jest korzystać z umów serwisowych.

W twoim przypadku użyłbym \Magento\Customer\Api\CustomerRepositoryInterface:

protected $_customerRepositoryInterface;
public function __construct(
    ....
    \Magento\Customer\Api\CustomerRepositoryInterface $customerRepositoryInterface,
    ....
) {
    ....
    $this->_customerRepositoryInterface = $customerRepositoryInterface;
}

Następnie w kodzie możesz zadzwonić:

$customerId = 1;
$customer = $this->_customerRepositoryInterface->getById($customerId);

nie działa ... Mam go w helper / data.php i wywołuję tę metodę w pliku phtml, ale nie działa.
Sarfaraj Sipai
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.