2011-10-27 2 views
0

Я хочу отключить полную страницу Dashboard клиентов и перенаправить клиентов на домашнюю страницу после входа в систему.Magento - отключить пользователя Страница Dashboard

Я точно не знаю, как это сделать, потому что данные клиента моего клиента всегда и только из импортированного файла csv.

Спасибо за помощь :)

ответ

1

создать новый Modul в: приложения/код/​​местные/

создать следующие каталоги и файлы:

приложения/код/​​местные/пространство имен/Modulname/и т.д./config.xml

приложение/код/​​местные/пространство имен/Modulname/контроллеры/AccountController.php

написать это в config.xml:

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Namespace_Modulname> 
      <version>0.1.0</version> 
     </Namespace_Modulname> 
    </modules> 
    <frontend> 
     <routers> 
      <customer> 
       <use>standard</use> 
       <args> 
        <module>Namespace_Modulname</module> 
        <frontName>customer</frontName> 
       </args> 
      </customer> 
     </routers> 
    </frontend> 
</config> 

написать это в AccountController.php:

require_once Mage::getModuleDir('controllers', 'Mage_Customer').DS.'AccountController.php'; 

class Namespace_Modulname_AccountController extends Mage_Customer_AccountController 
{ 
    public function loginPostAction() 
    { 
     parent::loginPostAction(); 

     if($session->isLoggedIn()) 
     {    
      //redirect after login 
      $url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 
      $this->_redirectUrl($url); 
     } 
    } 
} 

не забудьте активировать новую Modul:

создать новый файл в: приложение/etc/modules/Namespace.xml

и вставка:

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

Ну это не полная дезактивация зоны клиента, но вы можете перенаправить теперь каждый маршрут на приборную панель клиента. Если на вашем веб-сайте нет другой ссылки на панель управления клиентов, вы также можете удалить все элементы из панели управления клиентов, удалив использованные блоки в файле customer.xml.

Надеюсь, это поможет.

Дэнни

+0

Спасибо большое danny, я добавил это, потому что у меня нет переменной sesion: $ session = Mage :: getSingleton ('customer/session', array ('name' = > 'frontend')); 'он работает, но в конце страницы заказа (успех заказа), когда я нажимаю om номер заказа, я приземляюсь на странице заказа, со ссылками на панели мониторинга в левом столбце. URL-адрес страницы: «/ sales/order/view/order_id/87 /». Как я могу отключить эту страницу и другие страницы, такие как «Адресная книга» .... Спасибо :) – Bizboss

+0

Я думаю, вы уже ответили на свой вопрос самостоятельно. Перейдите в 'app \ code \ Mage \ Sales \ controllers \ OrderController.php' там вы найдете функцию' viewAction() '. Просто перепишите его, как указано выше, добавьте новый маршрутизатор в ** config.xml **, создайте новый ** OrderController.php ** и перенаправьте его туда, где вам понравится. – tecmec

+0

Спасибо, отлично работает – Bizboss

3

Спасибо за код, отлично работает для меня на 1.7.
Одно маленькое дополнение, которое я сделал, чтобы добавить сообщение подтверждения, так что пользователь может видеть положительные отзывы, что они фактически вошли в

После строки:.

$this->_redirectUrl($url); 

я добавил:

$message = $this->__('You have successfully logged in.'); 
Mage::getSingleton('core/session')->addSuccess($message); 
1

Я только что реализовал это, и это сработало. Но другие ссылки на приборную панель все еще работают.

В этом случае я использовал URL Rewrite, установленный в интерфейсе (каталог> URL переписывает)

я использовал настроенную переадресацию от customer/account к sales/order/history для того, чтобы направить от приборной панели к просмотру заказа.Nice и clean без добавления дополнительного кода

+0

Nice work man;) – Bizboss

Смежные вопросы