Zend 框架 - 电子邮件主题行中的变量


Zend Framework - Variable in Subject line of email

我以前没有在Zend框架中做过表单。所以我有我的 .phtml 页面,该页面设置正确并使用我的表单。 我有控制器文件和邮件.php文件,它们都工作正常。 表单使用 javascript 进行验证,向用户发送 HTML 电子邮件。 所有这些都工作正常。 我通常会被困在最简单的事情上。

下面是我的控制器文件中的快照,这是设置主题行的位置。

  $arrData = $this->_request->getPost();
  if (count($arrData) > 0) {
  $arrErrors = array();
  $objMailer = mymailer($arrData);
  $objMailer->setSubject('Subject Line');

这工作正常,但我想在主题行中包含一个变量(或者更确切地说是一个 $_POST 字段)。 我已经使用标准PHP表单多次执行此操作,所有内容都在同一页面上。 我认为我的问题是 .phtml 页面正在将表单操作发布到我的控制器文件中的公共函数,然后运行邮件 php 脚本。

我尝试打印$arrData,什么都没有,试图看看我是否可以抓住我想要的 _POST 美元字段。

如何从原始 .phtml 页面中获取 $_POST 字段? 我认为这就是这里的问题。

感谢您的任何帮助,也许我需要休息一下然后回来,这通常会有所帮助。

我能够在这里打印出数组:print_r($objMailer);

 mymailer Object
 (
[_strRecipient:mymailer:private] => 
[_strBcc:mymailer:private] => 
[_strSubject:mymailer:private] => 
[_strEmail:mymailer:private] => 
[_arrData:mymailer:private] => Array
    (
        [full_name] => brian
        [invitee_name] => test
        [email] => test@testing.com
        [captcha] => kqd2q9
    )
[_arrAttachments:mymailer:private] => 
[_blnCaptcha:mymailer:private] => 1
[_arrErrors:mymailer:private] => Array
    (
    )
 )

我需要抓住full_name领域。 如何仅回显/打印出full_name字段?

几种不同的方法可以在控制器中抓取 POST 变量。

基本的方式。

 $post = $this->_request->getPost()

我通常使用这个...

 $id = $this->_request->getParam('id', 0)

getParam 函数将返回 $_POST['id']/$_GET['id'] 的值或 0

尝试

 $objMailer->setSubject($arrData['full_name']);

如果这不起作用,请对$arrData进行var_dump并显示结果。