web-dev-qa-db-ja.com

JFactoryはJoomla 3.8で機能しなくなりました。

自動メール(フォームに記入し、コードをメールで送る)が機能していないことを嘆くクライアントから本日電話がありました。

もちろん、これは私のコードにまだJFactoryクラスがあり、探しているからです...

require ('libraries/joomla/factory.php');

...これはJoomla 3.8以降ではありません

私は 同様の問題に対するこの回答 を見ましたが、getMailerはリンクされたGithubファイルで名前が付けられていません。

次の行の代わりに何を使用すればよいですか?

require ('libraries/joomla/factory.php'); #I suppose nothing
$mail = JFactory::getMailer(); #I have no idea

もちろん、$mailオブジェクトを使用に必要なすべてのものでインスタンス化しています

$mail->Send();

したがって、それが機能しない場合は、いくつかのガイダンスをいただければ幸いです。

3
Firefighter

質問にリンクされている回答に記載されているクラス変換チャートでgetMailerまたはfactory.phpを探す代わりにJFactoryを探し、この問題を自分で解決しました。

$mail = \joomla\CMS\factory::getMailer();

必須ではありません...もう必須ではありません。

1
Firefighter