Magento2: Meilleur moyen de charger le client par identifiant client


15

Quelle est la meilleure façon de charger le client par ID? en utilisant l'interface client ou l'usine client ou d'une autre manière?
Dans la plupart des solutions que j'ai trouvées, cela se fait en utilisant directement objectManager(qui ne devrait jamais être utilisé).

Réponses:


24

Il est toujours préférable d'utiliser des contrats de service.

Dans votre cas, j'utiliserais \Magento\Customer\Api\CustomerRepositoryInterface:

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

Ensuite, dans votre code, vous pouvez appeler:

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

ne fonctionne pas ... je dois le garder dans helper / data.php et appeler cette méthode dans le fichier phtml mais ne fonctionne pas.
Sarfaraj Sipai
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.