by WebSurfer
8. May 2010 15:56
ブログの見栄えの改善のため、以下の処置を行いました。備忘録として書いておきます。一番目から三番目は BlogEngine.NET 1.6.1 の設計に関わるもので、他の方にも起こる問題です。その他は、自分が CSS を変更したことに伴う不具合の修正です。
- 「検索」で、タイトルの表示が「の検索結果 'hoge'」(英文向け)となる ==> search.aspx.cs で Thread.CurrentThread.CurrentUICulture によって CultureInfo を取得し、その Name プロパティが "ja-JP" または "ja" の場合はテレコにするよう処置を分けた("ja" は Firefox 対策です)。
- 「検索」で、検索結果の URL 情報が一行に収まらない ==> search.aspx の中のその部分のコード <span class="url"><%# ShortenUrl((String)Eval("RelativeLink")) %></span> 一行をコメントアウトして表示されないようにした。本質的な解決になっていませんが、空白やハイフンが入らない長い英数字を途中で改行する対処方法がどうしても見つかりません。
- 「関連するブログ」で、テキストの折り返しがされない ==> style.css で #relatedPosts span の display: inline-block を削除。何故か IE8 では互換表示でないと折り返されません。IE6, Firefox, Opera, Safari では問題なく折り返されます。削除すると思わぬところで副作用があるかもしれませんが、この見栄えの悪さは我慢できないレベルなので削除しました。
- 「コメントを書く」で、E-mail の行が一行に収まらない ==> style.css で .commentForm input の width を 300px から 190px に変更。
- 「検索」で、TextBox の行が一行に収まらない ==> CheckBox の直前に <br /> を追加して改行した。
- Widget 内の検索用の TextBox と Button が一行に収まらない ==> style.css で #searchbox #searchfield の width を 180px から 110px に変更。
-------- 2010/6/8 追記 --------
2 番目の問題は Slug の使用 で解決できましたので、コメントアウトしたコードを元に戻して復活させました。
by WebSurfer
5. May 2010 22:38
ホームページ本体の外観とマッチするようにブログのページのテーマを作成してみました。出来具合はいかがでしょうか?
ハイパーリンクの色など細かい(?)点でマッチしてないのはご愛嬌ということで。(汗) そのうち、時間を見つけて修正していく予定です。
もともとよく考えて作ってあって、大きな変更なしで既存のページの表示にあわせることができました。ただし、BlogEngine.NET のせいではないのですが、ちょっと(かなり)ハマってしまったことがあります。開発環境で表示が OK になったので、サーバーにアップすると表示が期待したとおりになりません。同じ IIS7, IE8 なのに何故違うのかかなり悩みました。
![互換表示でイントラネットサイトを表示する](/BlogEngine/image.axd?picture=2010%2f5%2fIE8-s.jpg)
4 時間ぐらい悩んで、やっと分かった原因は、IE8 の標準表示と互換表示の違いでした。
開発環境において、都合で、IIS7 のサイトバインドの編集の [ホスト名] をコンピュータ名に設定していたんですが、それだと IE8 のデフォルトの設定の [互換表示でイントラネットサイトを表示する](写真参照)に引っかかって、互換表示になってしまうんですよね。
localhost の場合はそういうことはなく標準表示になるので、開発環境と実環境で IE8 の表示が違うという問題はなかったのですが・・・ 小さな親切、大きなお世話って感じです。(笑)
あ、そうそう、[AMPL フィルター] をクリックすると出てくるポップアップウィンドウの表示が、日本語表示では崩れるのも直しました。
こちらの方は CSS の修正ではなく、blog.js の filterByAPML: function() の中の textbox の長さを少し短くして対応しました。
by WebSurfer
4. May 2010 14:51
「コンタクト」メニューからのメール送信ができるように設定しました。
メール送信は contact.aspx.cs で SmtpClient クラスを利用して行うようになっています。
ところが SmtpClient と自分の使っている ISP の SMTP サーバーとの相性が悪く、以前、趣味のページの Web アプリからメール送信 で書いた SMTP AUTH の問題のためダメでした。
同じようにコードを書き換えれば問題は解決しますが、古い形式で使用は推奨されてない SmtpMail を使うのも何なので、SMTP サーバの方を、このホームページのホスティングサービスでおまけ(?)についてくる SMTP サーバに変えて解決しました。
SMTP AUTH の相性の問題で SmtpClient が使えないという話は MSDN フォーラムでも聞いたことがないのですが、自分はよほど運が悪いんでしょうか。(汗)