获取joomla文章作者的电子邮件

我如何自动获取文章的作者电子邮件?

场景是这样的:您在文章内发布了一个表单,提交表单时需要向作者发送电子邮件。

有两种实现方法,具体取决于您的用例场景:

  • 将电子邮件存储在字段中以备将来参考
  • 如果您不需要存储电子邮件地址,请在发送过程中获取它

 

方法1:存储电子邮件

  • 您将需要在表单中添加一个隐藏字段。假设它将被命名为authorEmail
  • 在相关字段的“ 默认值”区域中,添加以下代码:
  • 我们将需要将提取的电子邮件地址添加到“用户”或“管理员”电子邮件配置区域的收件人列表中。只需转到用户或管理员电子邮件区域,然后在TO区域中输入字段占位符即可(例如):{authorEmail:value}

 

  // <code> 
  //获取数据库连接。
  $ db  = JFactory :: getDbo ();
 
  //从URL获取当前的文章ID。
  $ articleId    = JRequest :: getInt ('id' );
 
  //设置查询。
  $ db- > setQuery (“从#__content WHERE`id` ='”中选择SELECT created_by 。$ db- > escape ($ articleId )。“'” ); 
  $ createdBy  =  $ db- > loadResult (); 
  if  ($ createdBy ) { 
    //根据created_by列值获取用户。
    $ user  = JFactory :: getUser ($ createdBy );
 
    //返回电子邮件地址。
    return  $ user- > get ('email' ); 
  } 
  // </ code>

方法2:动态调整收件人

如果您不想存储作者电子邮件,则此方法很有用。该脚本需要放置在“ PHP电子邮件脚本”选项卡中,具体取决于要使用的电子邮件类型,在“ 发送用户电子邮件”之前调用脚本或“ 发送管理电子邮件”之前调用的脚本中。我们假定将使用管理员电子邮件:

 

  //获取数据库连接。
  $ db  = JFactory :: getDbo ();
 
  //从URL获取当前的文章ID。
  $ articleId    = JRequest :: getInt ('id' );
 
  //设置查询。
  $ db- > setQuery (“从#__content WHERE`id` ='”中选择SELECT created_by 。$ db- > escape ($ articleId )。“'” ); 
  $ createdBy  =  $ db- > loadResult (); 
  if  ($ createdBy ) { 
    //根据created_by列值获取用户。
    $ user  = JFactory :: getUser ($ createdBy );
 
    //更改收件人。$ adminEmail ['to']包含收件人的电子邮件地址。
    $ ADMINEMAIL [ '到' ]  =  $用户- > 获取('电子邮件' ); 
  }
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值