对于10月份的应用程序cms,我希望能够通过单击按钮发送邮件。我用ajax请求调用php文件,但是当单击按钮时,无论我使用哪种类,都会得到错误的“未找到的类”,不管是哪个类。我已经将该文件添加到.htaccess,以便能够在单击按钮时运行该文件。我在文件的顶部包括了所有的类。此外,当我将它转换为一个手工命令并使用php artisan now:send:mail运行它时,它可以正常工作,不会出现任何问题。我已经试着运行composer dump autoload和composer dump autoload -o了。代码在下面,知道我能做些什么来完成这个任务,或者以其他方式完成吗?
提前感谢!
Theme.js的一部分:
$.ajax({
url : '/plugins/test/notifications/ondemand/OnDemand.php'
}).done(function(data) {
console.log(data);
});OnDemand.php:
<?php
namespace Test\Notifications\OnDemand;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;
use Test\Poles\Components\Metrics;
use October\Rain\Argon\Argon;
class OnDemand
{
public function send()
{
$date = Argon::now(config('app.timezone'))->format('Y-m-d');
// get some data
$array = ['date' => $date, 'score' => $score, 'CO2' => $CO2, 'scorecar' => $scorecar, 'scorebike' => $scorebike];
$email = "test@test.nl";
Mail::sendTo($email, 'daily.mail', $array);
}
}
$mail = new OnDemand;
$mail->send();发布于 2019-12-09 11:26:51
我不确定您是想将此作为您开发的自定义的十月插件的一部分,还是简单地在常规的10月份模板中完成。然而,让ajax按钮发送电子邮件的最简单方法是:
1)在“设置”中的“10月后端”中创建一个新的邮件模板
2)在十月的"CMS“部分,创建一个新的空白页
3)对于新页面的“标记”部分,按钮HTML:
<button data-request="onPressButton">Send</button>
4)对于新页的“代码”部分,使用以下PHP:
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;
use Test\Poles\Components\Metrics;
use October\Rain\Argon\Argon;
function onPressButton()
{
$date = Argon::now(config('app.timezone'))->format('Y-m-d');
// get some data
$array = ['date' => $date, 'score' => $score, 'CO2' => $CO2, 'scorecar' => $scorecar, 'scorebike' => $scorebike];
$email = "test@test.nl";
Mail::sendTo($email,'daily.mail', $array);
}就这样。只要您在10月份的页面布局中包含了JQuery和{% framework extras %},上述内容就会有效。
如果要在您开发的自定义插件中添加此插件,则主体是相同的,但是如果这样做,HTML和PHP显然会进入组件中的各个文件中。
https://stackoverflow.com/questions/59247369
复制相似问题