Drupal 7-メール購読モジュール

まえがき

モジュールSimpleNews、通知などの存在について知っています。 既存のモジュールを使用してこれを行う方法に関する指示もあります。 サイト上で最も簡単な電子メール配信を可能にするために、あまりにも多くのことをする必要があるように思えます。 この状況を少し修正することにしました。 モジュールは独創性と天才を主張していません。 モジュールの構成と使用を簡単にしたかったのです。

メール購読モジュール


モジュール設定ページ:



ここでは、次のオプションを構成できます。

購読しているユーザーのリストを含むページ:



モジュール操作アルゴリズム


表があります:
CREATE TABLE IF NOT EXISTS `email_subscribe_readed_nodes` ( `rn_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'Field ID', `rn_nid` int(10) unsigned DEFAULT NULL COMMENT 'Node ID', `rn_sid` int(10) unsigned DEFAULT NULL COMMENT 'Subscribe user id', `rn_status` smallint(6) NOT NULL DEFAULT '0' COMMENT '0-email don't send, 1-email has been sented.', `datechange` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Date of change', PRIMARY KEY (`rn_id`), KEY `rn_nid` (`rn_nid`), KEY `rn_sid` (`rn_sid`), KEY `rn_status` (`rn_status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 


ユーザーインターフェース


ブロックとサブスクリプションフォームのあるページがあります。 私にはブロックがより便利だと思われるため、メニューのリンクを無効にすることができます。 ブロックはデフォルトで無効になっています。 ユーザーが電子メールアドレスを入力すると、いくつかのシナリオがあります。

いずれの場合も、選択したアクションを確認するためのリンクが記載されたレターがユーザーに送信されます。

コメントや提案を待っています。

モジュールはBSDでライセンスされています。 Githubおよびdrupal.orgのサンドボックスにあるソースコード。

UPD:
小さなバグを修正しました。サブスクリプション形式の登録ユーザーの場合、メールはデフォルトでした。匿名ユーザーの場合、$ユーザーオブジェクトにmailプロパティがないというエラーがポップアップしました。
UPD 2:
バグ修正:サブスクリプションフォームの$ form ["#action"]は相対ではなく、絶対でした(スラッシュは失われました)。
UPD 3:
テーブル「email_subscribe_readed_nodes」を埋めるためのアルゴリズムを少し変更しました。 以前は、公開された資料のみが含まれていましたが、現在は「未読」ステータスで公開されていません。
2015年3月20日からのUPD 4:
バージョン1.0.3.2に更新されました。
2015年3月26日からのUPD 5:
バージョン1.0.3.3に更新されました
12.24.2015からのUPD 5:
バージョン1.0.4に更新されました
2016年12月12日のUPD 6:
バージョン1.0.5に更新されました
2017年1月18日からのUPD 7:
バージョン1.0.5.1に更新されました
2019年4月13日からのUPD 8:
バージョン1.0.7に更新しました

Source: https://habr.com/ru/post/J208854/


All Articles