Question

J'ai un site Web Magento avec quatre magasins.Pour chaque client, une heure limite différente sera attribuée à chaque magasin.

L'utilisateur est limité à ajouter des produits provenant d'un seul magasin à la fois.Lorsque l'utilisateur vient consulter la page, je dois obtenir l'heure limite du magasin à partir duquel il a ajouté le produit.

J'ai réussi à obtenir le code du magasin.

Les attributs des clients pour l'heure limite du magasin sont les suivants :

`delivery_cutoff_time_abc` // here abc is the store code
`delivery_cutoff_time_def` // here def is the store code
`delivery_cutoff_time_ghi` // here ghi is the store code
`delivery_cutoff_time_jkl` // here jkl is the store code

En fonction des produits ajoutés au panier, j'ai obtenu le code du magasin, que ce soitabc ou def ou alors.

Maintenant, je dois obtenir la valeur de l'objet client comme ci-dessous

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

Pour ce faire, j'ai le code de magasin comme ci-dessous

$storeCode = "abc";

Je dois utiliser dynamique comme ci-dessous

$customer->getDeliveryCutoffTime.$storeCode();

Cela n’a pas la valeur.Comment puis-je le rendre dynamique ?

Était-ce utile?

La solution

Essayer

$storeCode = ucfirst("abc");

$function = "getDeliveryCutoffTime".$storeCode;

$customer->$function();

Autres conseils

En PHP, cela peut aussi être fait comme ceci :

$storeCode = "abc";
$customer->{"getDeliveryCutoffTime" . ucfirst($storeCode)}();

Ces méthodes getter « magiques » de Magento appellent la méthode getData() finalement.Donc getDeliveryCutoffTimeAbc() entraînera un appel à getData("delivery_cutoff_time_abc").

Vous pouvez donc aussi appeler ceci tout de suite :

$storeCode = "abc";
$customer->getData("delivery_cutoff_time_" . $storeCode);
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top