DotNetNuke 自体が会員制のサイトなどを簡単に構築出来る CMS なので、DotNetNuke の Blog モジュールも複数のブログを作れるようになっています。ただ、このままだと個人で使うには若干使いづらい部分があるので、この Blog モジュールを個人で使うにあたって私が行ったカスタマイズをまとめておこうと思います。主に RSS 配信のカスタマイズです。
(1) Blog モジュールをインストールした後、ブログページを作成します。
(2) モジュールの設定「高度な設定」の「個人のブログページ」の設定で、作成したブログページを選択します。
(3) 「ブログの編集(Edit Blog Settings)」で「RSSの公開」をチェックします。
(4) この状態での RSS フィードでは、ブログの最新の投稿記事1件しか配信されないようです(?)ので、ブログモジュールの ViewBlog.ascx ファイルを修正します。
まず、修正前の RSS フィードの URL を調べます。おそらくは下記のようになっているものと思います。
http://<ドメイン名>/DotNetNuke/tabid/<数字>/rssid/<1以上の数字>/Default.aspx
※サイトのルートに DNN をインストールしている場合は、http://<ドメイン名>/tabid/ となります。
(5) ViewBlog.ascx ファイルの 14 行目の
<asp:HyperLink id="lnkRSS" Runat="server" Visible="False" target="_blank" ImageUrl="~/desktopmodules/Blog/Images/xml.gif"></asp:HyperLink>
をコメントアウトして、下記に置き換えます。
<a href="http://<ドメイン名>/DotNetNuke/tabid/<数字>/rssid/0/Default.aspx" target="_blank"><img src="/DotNetNuke/desktopmodules/Blog/Images/xml.gif" alt="" border="0" /></a>
ここの URL は (4) で調べた URL の <1以上の数字> の部分を 0 にしたものを記述します。
※サイトのルートに DNN をインストールしている場合のイメージ(xml.gif)の URL は、/desktopmodules/Blog/Images/xml.gif となります。
(6) ここで RSS フィードを表示してみると、<title> が「最新の投稿」となっていると思います。
ここはブログのタイトルにしたいので、ViewBlog.ascx.ja-JP.resx ファイルの msgMostRecentEntries.Text の value を 自分のブログのタイトルに変更してしまいましょう。このリソース文字は (2) の設定を行っている限り、RSS フィードの tilte 要素テキストにしか使用されません。
(7) これで、RSSフィードが配信されるようになりましたが、最後に大事な作業が残っています。
各種 RSS リーダで RSS フィードが検出されるように、ページヘッダに下記のタグを記述します。
<link rel="alternate" type="application/rss+xml" title="ブログのタイトル" href="(5)で記述したRSSフィードURL" />
これを、ブログページの「ページ設定 → 高度な設定 → ページヘッダータグ」に追加します。
これで、DotNetNuke の Blog モジュールを個人でも使いやすくなったと思います。
ソースコードを直接修正すれば、もっとスマートなカスタマイズが出来るのですが、今回はこんなところで。