Hello,
I am wanting to disable customer registration within a store view so new accounts have to be created by an administrator.
I would only want this to affect a specific website for example https://praesepe.kellyseye.com/ not the Default Category of https://store.kellyseye.com/
How would I achieve this?
Solved! Go to Solution.
Hello jordan_cardwell
Sorry, Previous answer for the M2.
<events>
<customer_registration_is_allowed>
<observers>
<your_module_set_is_active>
<class>Your_Module_Model_Observers_Customer</class>
<method>disableCustomerRegistration</method>
</your_module_set_is_active>
</observers>
</customer_registration_is_allowed>
</events>
class Your_Module_Model_Observers_Customer
{
/**
* Force disable customer registration
*
* @param Varien_Event_Observer $observer Observer
* @return void
*/
public function disableCustomerRegistration($observer)
{
$result = $observer->getResult();
if ($result->getIsAllowed() === true) {
$result->setIsAllowed(false);
}
}
}
In if condition, you can use current store and website Id for disable customer regsitration process for particular store and website.
Hope it will help you then please mark as solution.
Hello jordan_cardwell
Kindly find below code for disable customer Registration as per store view code or you can get website Id or code.
etc/frontend/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Customer\Model\Registration">
<plugin name="Deved_DisableRegistration::after" type="Deved\DisableRegistration\Plugin\Customer\Model\Registration\DisableRegistrationPlugin"/>
</type>
</config>
Plugin/Customer/Model/Registration/DisableRegistrationPlugin.php
<?php
/**
* Copyright (c) 2016 Salvatore Guarino. All rights reserved.
*/
namespace Deved\DisableRegistration\Plugin\Customer\Model\Registration;
use Magento\Customer\Model\Registration;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Store\Model\ScopeInterface;
class DisableRegistrationPlugin
{
/**
* @var ScopeConfigInterface
*/
protected $_storeManager;
protected $scopeConfig;
const XML_PATH_DISABLE_CUSTOMER_REGISTRATION = 'customer/create_account/disable_customer_registration';
public function __construct(
ScopeConfigInterface $scopeConfig,
\Magento\Store\Model\StoreManagerInterface $storeManager,
)
{
$this->_storeManager = $storeManager;
$this->scopeConfig = $scopeConfig;
}
/**
* If Registration is not allowed by the plugin - returns false, otherwise returns original value.
*
* @param Registration $subject
* @param bool $result
* @return bool
*/
public function afterIsAllowed(Registration $subject, $result)
{
if( $this->_storeManager->getStore()->getCode() == "de"){
return false;
}
return true;
}
}Please find extension list
Url: https://marketplace.magento.com/medma-module-disableregistration.html
Url: https://github.com/deved-it/magento2-disable-customer-registration
hope it will help you, if works then mark as solution.
Hi,
Thanks for your reply - However, I am using Magento version 1.9.2.2
Some of the paths you have specified don't exist in this version.
Hello jordan_cardwell
Sorry, Previous answer for the M2.
<events>
<customer_registration_is_allowed>
<observers>
<your_module_set_is_active>
<class>Your_Module_Model_Observers_Customer</class>
<method>disableCustomerRegistration</method>
</your_module_set_is_active>
</observers>
</customer_registration_is_allowed>
</events>
class Your_Module_Model_Observers_Customer
{
/**
* Force disable customer registration
*
* @param Varien_Event_Observer $observer Observer
* @return void
*/
public function disableCustomerRegistration($observer)
{
$result = $observer->getResult();
if ($result->getIsAllowed() === true) {
$result->setIsAllowed(false);
}
}
}
In if condition, you can use current store and website Id for disable customer regsitration process for particular store and website.
Hope it will help you then please mark as solution.
Thank you,
I am new to Magento and I am struggling to understand where I would insert this code.
I have also tried to use the method shown here:
https://stackoverflow.com/questions/2959131/how-to-disable-frontend-registration-in-magento
However,
I am trying to access the file at this path: frontend/rwd/kellyseye/template/persistent/customer/form/login.phtml
But, within my FTP I can't find this folder structure.
Please Help?!
You can use Disable Customer developed by "STee" to easily deactivate a customer access on the frontend website, and of-course you can always reactivate them. Once deactivated, no data will be erased from the customer account.