ユーザーがアカウントを作成して独自のコンテンツを公開できるDrupalサイトがあります。しかし、私は何時間も運が悪かったので、たとえば毎週コンテンツを含むすべてのユーザーに電子メールを送信する電子メールサービスを設定しようとしていました。電子メールには、コンテンツのページヒット数が表示されます。どんな助けでも大歓迎です!乾杯
質問する
602 次
2 に答える
0
この場合、drupalルールmodeuleを使用する必要があると思います。
于 2013-01-10T07:42:59.763 に答える
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 に答える