我有一个 Drupal 站点,它允许用户创建一个帐户并发布他们自己的内容。但是,我已经尝试了几个小时,但没有运气尝试设置一个电子邮件服务,例如每周向所有用户发送一封包含内容的电子邮件。该电子邮件将向他们显示他们的内容获得了多少页面点击量。任何帮助都感激不尽!干杯
问问题
602 次
2 回答
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
并检索标题、电子邮件和统计信息,然后将信息通过电子邮件发送给内容所有者。
如果有人有更好的解决方案,请您发表评论。
于 2013-01-11T11:44:39.207 回答
0
我认为在这种情况下,您必须使用drupal 规则模块。
于 2013-01-10T07:42:59.763 回答