Как вызвать $ customer-> save () для данного события - PullRequest
0 голосов
/ 10 февраля 2011

Итак, мне было поручено создать модуль для входа / регистрации клиента в Magento на основе существующих данных аутентификации из другой системы. Сейчас я думаю о том, чтобы создать виджет, который может быть размещен администратором со ссылками. Та часть, которую я понял, как это сделать.

В следующей части мне может понадобиться помощь. Я прочитал достаточно статей, чтобы понять, как создать пользовательскую структуру URL для запуска действий моего модуля, поэтому я предполагаю, что могу напрямую ссылаться на свое действие, вызывать запрос на вход в систему или регистрацию и отправлять пользователя обратно на страницу перехода ( или на странице их профиля, я не уточнил проект полностью, поэтому подробности, подобные этой, относятся к типу TBD).

Здесь мне нужна помощь. Я нашел методы, которые захватывают запрос POST на страницах входа в систему и регистрации. Должен ли я просто расширить класс Mage_Customer_AccountController и создать мои обязательные методы, примерно похожие на вызовы, используемые в методах loginPostAction () и createPostAction ()?

Для справки, я только что запустил какой-то первоначальный проектный разработчик на новой установке только что вышедшего 1.5.0.0 Файл, на который я ссылаюсь -

/ Magento / приложение / код / ​​ядро ​​/ Mage / Клиент / контроллеры / AccountController.php

1 Ответ

1 голос
/ 10 февраля 2011

Все события, основанные на событиях в Magento, должны обрабатываться в методах событий / наблюдателей (дополнительную информацию можно найти здесь ) .... например, для вызова ваших собственных действий при входе пользователя в систему будет подписыватьсяна события customer_login или customer_logout.Если вы пытаетесь подписаться на событие по сохранению клиента в области администратора, это будет событие adminhtml_customer_save_after.Полный список из них для 1.4.2 можно найти здесь: .

Еще одно предостережение - перегрузка контроллеров - это то, что я бы сделал экономно.Большая часть того, что вы пытаетесь сделать, может быть достигнута путем создания ваших собственных контроллеров и использования метода Zend forward () для перенаправления на нужный вам метод контроллера (вы упомянули loginPostAction () в Mage_Customer_AccountController) после заблаговременного получения вашей функциональности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...