我有一个Drupal网站,可让用户创建帐户并发布自己的内容。然而,我一直在努力尝试设置一个电子邮件服务几个小时没有运气,该服务每周向所有用户发送电子邮件,例如。该电子邮件将向他们显示他们的内容有多少页面点击。任何帮助都感激不尽!干杯
答案 0 :(得分:0)
我认为在这种情况下你必须使用drupal rules 模块。
答案 1 :(得分:0)
我和我的同事找到了解决方案。我们首先创建了一个规则,它将在cron作业上运行,以执行下面的自定义php。
$type = '<node_type>';
$articles = db_select('node')
->fields('node', array('nid', 'title'))
->condition('type', $type, '=')
->execute()
->fetchAllKeyed();
$nodes = array();
foreach ($articles as $nid => $title) {
$nodes[] = node_load($nid);
}
$checked = array();
foreach($nodes as $node) {
if(!in_array($node->nid, $checked)) {
$statistics = statistics_get($node->nid);
$email = $node->field_email['und'][0]['email'];
$subject = 'Content view update';
$headers = 'From: you@domain.com' . "\r\n" .
'Reply-To: you@domain.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$message = 'Hi,
Your content has been viewed ' . $statistics . ' times';
global $language;
$params['subject'] = t($subject);
$params['body'] = array(t($message));
drupal_mail('smtp', 'smtp-test', $email, $language, $params);
$checked[] = $node->nid;
}
}
php脚本循环遍历所有类型为$type
的自定义内容节点,并检索标题,电子邮件和统计信息,然后将信息通过电子邮件发送给内容所有者。
如果有人有更好的解决方案,请你发表评论。