Pregunta

Tengo un sitio web Magento con cuatro tiendas.Para cada cliente se asignará una hora límite diferente para cada tienda.

El usuario está restringido a agregar productos de una sola tienda a la vez.Cuando el usuario visita la página, tengo que obtener la hora límite de la tienda desde la que agregó el producto.

Logré obtener el código de la tienda.

Los atributos del cliente para la hora límite de la tienda son los siguientes

`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

Según los productos agregados al carrito, obtuve el código de la tienda, ya seaabc o def más o menos.

Ahora tengo que obtener el valor del objeto del cliente como se muestra a continuación.

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

Para hacer esto tengo el código de tienda como se muestra a continuación

$storeCode = "abc";

Tengo que usar dinámica como se muestra a continuación.

$customer->getDeliveryCutoffTime.$storeCode();

No obtiene el valor.¿Cómo puedo hacerlo dinámico?

¿Fue útil?

Solución

Intentar

$storeCode = ucfirst("abc");

$function = "getDeliveryCutoffTime".$storeCode;

$customer->$function();

Otros consejos

En PHP esto también se puede hacer así:

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

Estos métodos captadores "mágicos" de Magento llaman al método getData() eventualmente.Entonces getDeliveryCutoffTimeAbc() resultará en una llamada a getData("delivery_cutoff_time_abc").

Entonces también puedes llamar a esto de inmediato:

$storeCode = "abc";
$customer->getData("delivery_cutoff_time_" . $storeCode);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top