5

I want to set a customer group as first time user for that I am using an observer so that I can update the customer group just after or on the same time of registration.

12

First create your configuration file in Vendor\Module\etc\frontend\events.xml :

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="customer_register_success">
        <observer name="persistent" instance="Vendor\Module\Observer\ChangeCustomerGroupId" />
    </event>
</config>

Then create the observer Vendor\Module\Observer\ChangeCustomerGroupId.php

<?php

namespace Vendor\Module\Observer;

use Magento\Framework\Event\ObserverInterface;

class ChangeCustomerGroupId implements ObserverInterface
{
    const CUSTOMER_GROUP_ID = 2;

    protected $_customerRepositoryInterface;

    public function __construct(
        \Magento\Customer\Api\CustomerRepositoryInterface $customerRepositoryInterface
    ) {
        $this->_customerRepositoryInterface = $customerRepositoryInterface;
    }

    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $customer = $observer->getEvent()->getCustomer();
        if ($customer->getGroupId() == 1) {
            $customer->setGroupId(self::CUSTOMER_GROUP_ID);
            $this->_customerRepositoryInterface->save($customer);;
        }
    }
}

NB: don't forget to replace 2 with the id of the customer group you want to use.

  • hey thanks a tonn can u tell me how to update with general group to this custom customer group.? – supriya mishra Nov 3 '16 at 10:59
  • @supriyamishra what is your general group id ? – Raphael at Digital Pianism Nov 3 '16 at 11:00
  • for general it is 1, which is by default , i want it to get updated just after registration by 7. – supriya mishra Nov 3 '16 at 11:03
  • I replaced 2 by 7 in your code too – supriya mishra Nov 3 '16 at 11:05
  • 1
    Yeah Got it file name was misstyped – supriya mishra Nov 3 '16 at 12:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.