1
APIを使用してユーザー情報を処理するプラグインをいくつか作成しています。これを完全に処理できるデフォルトプロセスはないので、onAfterRouteを使用してコンポーネントモデルクラスをオーバーライドしています。Joomlaはユーザーのコンポーネントモデルをオーバーライドします
これは単にコンポーネントは= com_usersことを確認して、ビューは=リセットまたは思い出させる:
class plgSystemUseroverride extends JPlugin {
public function __construct(&$subject, $config = array()) {
parent::__construct($subject, $config);
}
public function onAfterRoute() {
$app = JFactory::getApplication();
$input = $app->input;
if('com_users' == $input->get('option') && 'reset' == $input->get('view') && !$app->isAdmin()) {
require_once(dirname(__FILE__) . '/user/reset.php');
}
if('com_users' == $input->get('option') && 'remind' == $input->get('view') && !$app->isAdmin()) {
require_once(dirname(__FILE__) . '/user/remind.php');
}
}
}
ファイルは、ユーザーがコンポーネントからコピーされ、私は私のテストのために「思い出させる」変更: 方法をprocessRemindRequest:コンポーネントファイルを直接編集する場合は、しかし、クラスをプラグインとして
$return = JFactory::getMailer()->sendMail($data['mailfrom'], $data['fromname'], $user->email, $subject . " TEST Subject", $body);
変更が正常に動作しますが上書きされていません。