3

ユーザーがアカウントを作成して独自のコンテンツを公開できるDrupalサイトがあります。しかし、私は何時間も運が悪かったので、たとえば毎週コンテンツを含むすべてのユーザーに電子メールを送信する電子メールサービスを設定しようとしていました。電子メールには、コンテンツのページヒット数が表示されます。どんな助けでも大歓迎です!乾杯

4

2 に答える 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 に答える