Domanda

Ho un sito web magento con quattro negozi.Per ogni cliente verranno assegnati diversi tempo di taglio per ogni negozio.

L'utente è limitato per aggiungere il prodotto da un solo negozio alla volta.Quando l'utente viene a controllare la pagina Devo ottenere il tempo tagliato per il negozio da cui ha aggiunto il prodotto.

Sono riuscito a ottenere il codice del negozio.

Attributi del cliente per il tempo di tagliare il tempo sono come sotto

`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
.

Sulla base dei prodotti aggiunti al carrello Ho ottenuto il codice del negozio, sia che sia in linguaggioabc o def o giù di lì.

Ora devo ottenere il valore dall'oggetto cliente come sotto

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

Per fare ciò ho il codice del negozio come sotto

$storeCode = "abc";

Devo usare dinamico come sotto

$customer->getDeliveryCutoffTime.$storeCode();
.

Non ottiene il valore.Come posso renderlo dinamico?

È stato utile?

Soluzione

Prova

$storeCode = ucfirst("abc");

$function = "getDeliveryCutoffTime".$storeCode;

$customer->$function();
.

Altri suggerimenti

In PHP, questo può anche essere fatto come questo:

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

Questi metodi Magento "Magic" Gettter chiamano la fine del metodo getData().Quindi getDeliveryCutoffTimeAbc() comporterà una chiamata a getData("delivery_cutoff_time_abc").

Quindi puoi anche chiamarlo subito:

$storeCode = "abc";
$customer->getData("delivery_cutoff_time_" . $storeCode);
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top