Как отключить frontend регистрацию в Magento

Как названо.

Но тем не менее, пользователи могут войти в frontend, и администратор мог создать учетную запись пользователя только в бэкенде.

11
задан Capitaine 2 June 2010 в 15:27
поделиться

3 ответа

Хорошо. У меня получилось. Обратитесь к решению Hugues, есть две поправки:

  1. add app\etc\modules\Mycompany_All.xml

    
     <модули>
     
     true
     local
     
     
    
    
  2. измените файл: app/code/local/Mycompany/Registrationremove/etc/config.xml

    
     <модули>
     
     0.1.0
     
     
     
     
     
     
     /registrationremove/customer_account/create
     
     
     
     /registrationremove/customer_account/createPost
     
     
     
     
     
     
     standard
     
     Mycompany_Registrationremove
     registrationremove
     
     
     
     
    
    
2
ответ дан 3 December 2019 в 04:51
поделиться

Вы можете изменить экран входа в систему, убрав кнопку «Создать новую учетную запись». Таким образом, существующие пользователи все еще могут входить в систему, но у них нет возможности создавать новые учетные записи.

Файл, который нужно изменить, - /app/design/frontend/default/default/template/customer/form/login.phtml. В строке 41 вы увидите

. Закомментируйте весь этот div, чтобы скрыть раздел «Новый пользователь» на странице входа.

Изменить:
Невозможно просто отключить регистрацию нового пользователя, как вы просите. Я провел еще немного поисков и нашел только нескольких человек с той же идеей , что и моя. В дополнение к моему первоначальному предложению я бы
a) удалите раздел из /app/design/frontend/default/default/layout/custom.xml и
. б) удалите связанные с регистрацией строки из /app/design/frontend/default/default/template/checkout/onepage/login.phtml.

5
ответ дан 3 December 2019 в 04:51
поделиться

Другой возможностью может быть перегрузка действия «клиент / учетная запись / создание» и простое перенаправление пользователя на домашнюю страницу при вызове этого действия.

В первый раз просто сделайте то, что предложил Бен В. Это уберет возможность просмотра страницы регистрации.

Затем создайте новый модуль, в котором вы перегрузите AccountController.php.

1- Создайте новую папку в app / code / local / с именем Mycompany

2- Создайте новую папку в app / code / local / Mycompany / с именем Registrationremove

3- Создайте app / code / local / Mycompany / Registrationremove / etc /

4- Создайте app / code / local / Mycompany / Registrationremove / etc / config.xml

Скопируйте и Вставьте config.xml:

<?xml version="1.0"?>
<config>
    <modules>
        <Mycompany_Registrationremove>
            <version>0.1.0</version>
        </Mycompany_Registrationremove>
    </modules>
    <global>
        <rewrite>
             <mycompany_registrationremove_customer_account_create>
                      <from><![CDATA[#^/customer/account/create/$#]]></from>
                      <to>/registrationremove/customer_account/create</to>
                 </mycompany_registrationremove_customer_account_create>
                 <mycompany_registrationremove_customer_account_createPost>
                     <from><![CDATA[#^/customer/account/createPost/$#]]></from>
                     <to>/registrationremove/customer_account/createPost</to>
                 </mycompany_registrationremove_customer_account_createPost>
           </rewrite> 
    </global>

    <frontend>
        <routers>
            <registrationremove>
                <use>standard</use>
                <args>
                    <module>Mycompany_Registrationremove</module>
                    <frontName>registrationremove</frontName>
                </args>
            </registrationremove>
        </routers>
    </frontend>
</config>

5- Создать app / code / local / Mycompany / Registrationremove / controllers

6- Создать app / etc / modules / Mycompany_Registrationremove.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Mycompany_Registrationremove>
            <active>true</active>
            <codePool>local</codePool>
        </Mycompany_Registrationremove>
    </modules>
</config>

7- Создать app / code / local / Mycompany / Registrationremove / controllers / Customer / AccountController.php

Скопируйте и вставьте в AccountController.php:

require_once 'Mage/Customer/controllers/AccountController.php';

class Mycompany_Registrationremove_Customer_AccountController extends Mage_Customer_AccountController
{
    public function createAction()
    {
      $this->_redirect('*/*');
    }

    public function createPostAction()
    {
      $this->_redirect('*/*');
    }

}

8- Создайте app / code / local / Mycompany / Registrationremove / Helper / Data.php

Скопируйте и вставьте в Data.php:

class Mycompany_Registrationremove_Helper_Data extends Mage_Core_Helper_Abstract
{
}

Теперь, когда кто-то пытается получить доступ к клиенту / учетной записи / создать /, он должен быть перенаправлен на домашнюю страницу.

Надеюсь, что это помогло :)

Хьюг.

12
ответ дан 3 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: