如何将数组传递给 symfony 4 中的函数
how to pass array to function in symfony 4
缺乏我的 symfony 知识成为我的瓶颈。我在网上搜索但还没有找到确切的解决方案,所以我来了。我认为如何将 $parameters
传递给 sendmail function
渲染 $data 不起作用,但它可以继续查看但是调用它 ajax(using ajax 不是原因错误,但我猜渲染 ) 不工作。
**
* some route settings
**
function index(){
...
$parameters = array(
'feedtitle' => $feedback->getTitle(),
'feedtype' => $feedback->getFeedtype(),
'feeddesc' => $feedback->getDescription(),
'feedpublish' => $feedback->getPublishedAt(),
'feedauthor' => $user->getFirstName() . ' ' . $user->getLastName(),
);
$this->sendEmail($parameters, $mailer, "info@fastap.com", 'proclaim@gmail.com');
}
function sendmail($data, $mailer, $from, $to){
...
$message = (new \Swift_Message('Хэрэглэгчдийн санал'))
->setFrom($from)
->setTo($to)
->setBody(
$this->renderView(
// templates/emails/issue.html.twig
'email/issue.html.twig',
['data' => $data] <-- not working
),
'text/html'
)
...
}
这里是issue.html.twig
<table style="width:100%; border-collapse:collapse;font-family: sans-serif; text-align: left;">
<thead>
<tr style="font-size:14px;">
<th style="border:1px solid #3d3d3d">Name</th>
<th style="border:1px solid #3d3d3d">Caption</th>
<th style="border:1px solid #3d3d3d">Type</th>
<th style="border:1px solid #3d3d3d">Description</th>
<th style="border:1px solid #3d3d3d">Date</th>
</tr>
</thead>
<tbody>
<tr style="font-size:12px;">
<td style="border:1px solid #3d3d3d">{{ data.feedauthor }}</td>
<td style="border:1px solid #3d3d3d">{{ data.feedtitle }}</td>
<td style="border:1px solid #3d3d3d">{{ data.feedtype }}</td>
<td style="border:1px solid #3d3d3d">{{ data.feeddesc }}</td>
<td style="border:1px solid #3d3d3d">{{ data.feedpublish }}</td>
</tr>
</tbody>
</table>
您需要像这样更改参数:
function sendmail($data, $mailer, $from, $to){
...
$message = (new \Swift_Message('Хэрэглэгчдийн санал'))
->setFrom($from)
->setTo($to)
->setBody(
$this->renderView(
// templates/emails/issue.html.twig
'email/issue.html.twig',
['data' => $data]
),
'text/html'
)
...
}
我变了
我换了控制器
$parameters = array(
'feedtitle' => $feedback->getTitle(),
'feedtype' => $feedback->getFeedtype(),
'feeddesc' => $feedback->getDescription(),
'feedpublish' => $feedback->getPublishedAt()->format('Y-m-d H:i:s'), <-- forget to toString() date format
'feedauthor' => $user->getFirstName() . ' ' . $user->getLastName(),
);
及其有效
问题是它导致日期时间在我忘记转换的树枝上打印出来并且它的工作知道
缺乏我的 symfony 知识成为我的瓶颈。我在网上搜索但还没有找到确切的解决方案,所以我来了。我认为如何将 $parameters
传递给 sendmail function
渲染 $data 不起作用,但它可以继续查看但是调用它 ajax(using ajax 不是原因错误,但我猜渲染 ) 不工作。
**
* some route settings
**
function index(){
...
$parameters = array(
'feedtitle' => $feedback->getTitle(),
'feedtype' => $feedback->getFeedtype(),
'feeddesc' => $feedback->getDescription(),
'feedpublish' => $feedback->getPublishedAt(),
'feedauthor' => $user->getFirstName() . ' ' . $user->getLastName(),
);
$this->sendEmail($parameters, $mailer, "info@fastap.com", 'proclaim@gmail.com');
}
function sendmail($data, $mailer, $from, $to){
...
$message = (new \Swift_Message('Хэрэглэгчдийн санал'))
->setFrom($from)
->setTo($to)
->setBody(
$this->renderView(
// templates/emails/issue.html.twig
'email/issue.html.twig',
['data' => $data] <-- not working
),
'text/html'
)
...
}
这里是issue.html.twig
<table style="width:100%; border-collapse:collapse;font-family: sans-serif; text-align: left;">
<thead>
<tr style="font-size:14px;">
<th style="border:1px solid #3d3d3d">Name</th>
<th style="border:1px solid #3d3d3d">Caption</th>
<th style="border:1px solid #3d3d3d">Type</th>
<th style="border:1px solid #3d3d3d">Description</th>
<th style="border:1px solid #3d3d3d">Date</th>
</tr>
</thead>
<tbody>
<tr style="font-size:12px;">
<td style="border:1px solid #3d3d3d">{{ data.feedauthor }}</td>
<td style="border:1px solid #3d3d3d">{{ data.feedtitle }}</td>
<td style="border:1px solid #3d3d3d">{{ data.feedtype }}</td>
<td style="border:1px solid #3d3d3d">{{ data.feeddesc }}</td>
<td style="border:1px solid #3d3d3d">{{ data.feedpublish }}</td>
</tr>
</tbody>
</table>
您需要像这样更改参数:
function sendmail($data, $mailer, $from, $to){
...
$message = (new \Swift_Message('Хэрэглэгчдийн санал'))
->setFrom($from)
->setTo($to)
->setBody(
$this->renderView(
// templates/emails/issue.html.twig
'email/issue.html.twig',
['data' => $data]
),
'text/html'
)
...
}
我变了 我换了控制器
$parameters = array(
'feedtitle' => $feedback->getTitle(),
'feedtype' => $feedback->getFeedtype(),
'feeddesc' => $feedback->getDescription(),
'feedpublish' => $feedback->getPublishedAt()->format('Y-m-d H:i:s'), <-- forget to toString() date format
'feedauthor' => $user->getFirstName() . ' ' . $user->getLastName(),
);
及其有效
问题是它导致日期时间在我忘记转换的树枝上打印出来并且它的工作知道