DotNetNuke 対応ホスティングサービスに、「at link 専用サーバサービス」を追加
DotNetNuke.jp 掲示板は、すべての DotNetNuke ユーザーのための情報共有の場です。単に質問・回答の場ではありませんし、回答義務もございません。運営メンバーも含め、DotNetNuke を日々学んでいる状況です。質問をする場合は、まずインターネットなどで自分自身でお調べいただき、その情報を共有する事をこころがけてください。
ユーザ登録時に送られてくるメールのメッセージをカスタマイズしたいと思い、調べているところです。
どうやらメールのメッセージテンプレート自体は
App_GlobalResourcesの下にあるGlobalResources.resxやSharedResources.resx
あたりにあることが分かりました。
この中で、[Membership:UserName]などのトークンを使うことで、宛名を変えたりできるようですが、同じようにユーザIDをメッセージ内に含めて送りたいと思って探しています。そこで、このトークンの説明一覧みたいなものはどこかにないでしょうか?またはコード内でトークンを変換している箇所でもよいのですが、検索をかけただけでは見つけることができませんでした。
また、トークンに[Custom:0]のようにカスタム設定できると思われるものがあります。このカスタム設定、名前から見て恐らくWeb画面上で管理者が設定できるのではと思うのですが、この設定画面はどこにあるのでしょうか?
すみませんがよろしくお願いします。
こんにちは、富山です。 ソースの \Library\Components\Mail\Mail.vb を見ると サイト設定 - 高度な設定 - ユーザー登録 の項目ごとに メールのパラメタを変えていますね。
Case MessageType.UserRegistrationVerified のところで custom に UserName を渡しています。
実際にトークンを置き換えているところは、 C:\dnn492src\Library\Components\Localization\Localization.vb のTokenReplace の箇所だと考えられます。
GlobalResources.resx で他に Custom がある EMAIL_VENDOR_REGISTRATION_ADMINISTRATOR_BODY は ホスト - ベンダー から入れた情報のようです。
富山さん。どうもありがとうございます。
質問後、私も継続して探していたところ、まだ完全にコードを追って理解できたわけではないですが、なんとなく分かってきました。最初は、トークンの変換テーブルをどこかに持って、いちいち変換しているのだろうと思って検索などで探していたのですが、どうやらそうではなく、直接ユーザプロパティ(DotNetNuke.Entities.Users)から持ってきているのではないかと思われます。
ということで、質問にあったユーザIDの取得方法は、試しに[User:UserID]でやってみて取得できるようになりました。しかし、こんなことではわかったということにはならないので、もう少し細かく見てみたいと思っています。
いまだ不明なのが[Custom:*]ですが、この名前を見る以上、ソースコードではなくどこか設定画面で定義できそうなものですが、それらしい箇所は見つけられていません。こちらももう少しし追って見ます。
どうもありがとうございました。