Skip to content

Instantly share code, notes, and snippets.

@rifki
Last active February 18, 2017 04:43
Show Gist options
  • Save rifki/a9e4defdb65e9088242400ebe4c5cfca to your computer and use it in GitHub Desktop.
Save rifki/a9e4defdb65e9088242400ebe4c5cfca to your computer and use it in GitHub Desktop.
Magento customer group registration specific domain
<?xml version="1.0"?>
<config>
<modules>
<Rifki_MembershipGroup>
<version>0.0.1</version>
</Rifki_MembershipGroup>
</modules>
<global>
<models>
<rifkimembershipgroup>
<class>Rifki_MembershipGroup_Model</class>
</rifkimembershipgroup>
</models>
<events>
<customer_save_before>
<observers>
<rifki_membershipgroup_observer>
<type>singleton</type>
<class>Rifki_MembershipGroup_Model_Observer</class>
<method>changeCustomerGroup</method>
</rifki_membershipgroup_observer>
</observers>
</customer_save_before>
</events>
</global>
</config>
<?php
/**
* Observer change Customer group
*
* @category Rifki
* @package Rifki_MembershipGroup
* @author Muhamad Rifki
* @copyright rifkilabs.net
*/
class Rifki_MembershipGroup_Model_Observer
{
const STUDENT_CUSTOMER_GROUP = 7; // your customer group_id
private static $domainRegisters = [
’yourschool1.sch.id',
'yourschool2.sch.id',
];
// filter by domain name for change Customer group
public function changeCustomerGroup(Varien_Event_Observer $observer)
{
$customer = $observer->getEvent()->getCustomer();
list($user, $domain) = explode('@', $customer->getEmail());
if (in_array($domain, self::$domainRegisters)) {
Mage::log('email => '.$customer->getEmail(), null, 'membership_student.log');
$customer->setData('group_id', self:: STUDENT_CUSTOMER_GROUP);
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Rifki_MembershipGroup>
<active>true</active>
<codePool>local</codePool>
</Rifki_MembershipGroup>
</modules>
</config>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment