#php #magento
#php #magento
Вопрос:
Я искал решение в сети и на этом сайте, но не смог его найти. Я хотел бы получить имя клиента, связанное с кодом купона в Magento. Я нашел некоторый код для случаев, когда использовался код купона, но я не смог получить имя клиента.
Я попробовал следующий код:
<?php
$mageFilename = 'app/Mage.php';
require_once $mageFilename;
umask(0);
Mage::app( 'admin' );
$coupon = Mage::getModel('salesrule/coupon/usage');
$coupon->load('dd_38WX9N', 'code');
if($coupon->getId()) {
$timesUsed = $coupon->getTimesUsed();
$customer = $coupon->getCustomerId();
echo $timesUsed;
echo $customer;
}
?>
Не мог бы кто-нибудь, пожалуйста, помочь мне с этим и указать мне правильное направление.
Большое спасибо за вашу помощь. Даниэль
Ответ №1:
Вот хорошее решение. вам нужно использовать ресурс, а не модель, чтобы получить доступ к таблице salesrule_coupon_usage и получить список customer_id
/*@var $coupon Mage_SalesRule_Model_Coupon */
$coupon = Mage::getModel('salesrule/coupon');
$coupon->load('dd_38WX9N', 'code');
if($coupon->getId()){
/* @var $resourceCouponUsage Mage_SalesRule_Model_Mysql4_Coupon_Usage */
$resourceCouponUsage = Mage::getResourceModel('salesrule/coupon_usage');
$read = $resourceCouponUsage->getReadConnection();
$select = $read->select()
->from($resourceCouponUsage->getMainTable())
->where('coupon_id = ?', $coupon->getId());
$data = $read->fetchAll($select);
print_r($data);
foreach($data as $couponUsage){
$customer = Mage::getModel('customer/customer')->load($couponUsage['customer_id']);
echo $customer->getName();
}
}
Комментарии:
1. Большое спасибо Diglin за вашу помощь. Это сработало как шарм. Вы только что спасли мой день 🙂
2. Я пытался это сделать, но моя репутация не позволяет мне голосовать:-( Я вернусь и сделаю это, как только моя репутация позволит мне проголосовать.
Ответ №2:
Когда вы сможете получить идентификатор клиента, вы также сможете получить весь объект customer:
$customer_data = Mage::getModel('customer/customer')->load($customer_id);
print_r($customer_data);
Там вы также можете получить имя.
Комментарии:
1. Проблема в том, что у меня нет идентификатора клиента. Мне нужно получить идентификатор клиента, связанный с кодом купона. Например, использовался код купона «xyz», и теперь я хотел бы получить идентификатор или имя от клиента, который использовал этот код купона. В отчете о коде купона Magento вы можете видеть только то, что этот купон был использован, но вы не можете видеть, кто использовал этот конкретный купон.