ブラウザの言語から表示するサイトを分岐 

ページの言語切り替えボタンが、サイト右上にありますが、日本語と英語でアドレスが違います。(index.phpとindex_en.php)

index_en.phpを登録してもらうのも手間なので、同じhttp://www.chosyu.jp/にアクセスすれば、ブラウザの言語設定を見て、自動で分岐するように変更しました。

JavaScriptでもできるのですが、JavaScriptを読み込んでからの実行になるので、一瞬飛ぶ前の画面が出てしまいます。
というわけで、PHPで実装しました。
 

 

長州ビューア:FLASHからhighslideを機動する方法 

写真ビューアの開発メモ
開発の手順は、大きく3つ。

1.FLASHをがしがし作る
2.SWFObjectでSWFを読み込む
3.FLASHからhighslideを起動して画像を開く

 

 

記事に絵文字を使えるようにしました 

記事投稿時に、絵文字を挿入できるプラグインを追加しました happy01

こういうプラグインは何個かありますが
シンプルで簡単そうな(一番最初に検索でヒットしたw)こちらをチョイス good

takayama_100612_1.jpg

Kickstart my heartさん: MTでも絵文字使おうぜプラグイン、アリマス

<img>タグを追加してくれるプラグインです。

追加するときに、通常はマウスカーソルの位置に挿入されますが、たまに記事の先頭にコードが書き込まれることがあるので、コピペで表示したい場所に移動してください。

文章と絵文字の間に、半角スペースを入れておくと、バランス的にいい感じ heart01

takayama_100612_2.jpg

 

 

画面が白いまま表示されない問題とサイト高速化 

このサイトの初回表示時に、5秒くらい画面が真っ白で、何も表示されない状態が続く問題が、ず~っと起こっていました。
何故か、表示が異常に遅いときがありました。

1回表示すると、次からは普通に表示されますが、30分くらい置いて表示すると、
真っ白問題が再発。

謎な現象でしたが、たぶん解決。

 

 

MT4.2で長いタイトルをトリミングするプラグイン 

Movable Typeで長い文字列をトリミングするにはtrim_toというフィルタが用意されています。
ただ、このtrim_toは半角英数字も日本語も、同じ1文字と数えてしまうので
見た目で同じ長さにはなりません。

文字数を半角文字数で指定するプラグインもありましたが、MT4.2で動作しなくなってしまったので、ルーチン的には邪道っぽいけど、自作してみました。
そのうち、きちんと文字数を数えるバージョンを作ろうと思ってたけど、
動いてるからいいや(笑

# ver0.02 09.12.17: 英語の大文字は幅が広いので全角文字として計算
# ver0.03 09.12.19: パターンマッチ方法を修正
# ver0.04 09.12.19: 英語の大文字のうちIは除外

TTrim 0.04
1.ダウンロードしたファイルを解凍して、"plugins" フォルダにアップします。
2.ttrim_to="半角文字数"で切り取る文字数を指定します。
例:<mt:entryTitle ttrim_to="24">

動作環境
Movable Type 4.2
文字コード:UTF-8

 

 

テンプレートが吹っ飛んだ 

システム系のテンプレートがお亡くなりになりました。

アップデートのときかなぁ。。。


追記:
ネットで検索すると、同様の症状がちらほら。

どうも、pluginsフォルダとmt-static/pluginsに、元にしたテンプレートを置いておかないと、システムテンプレートのコメントプレビュー、コメント完了、ダイナミックパブリッシングエラー、ポップアップ画像、検索結果が死んでしまうらしい。

MTのアップデートの際に、テンプレートをコピーし忘れたのが原因。
というか、そんなの必要だと思わなかったよ。。。

元のテンプレートを削除等でなくしてしまった場合、
これを復旧する手段はない

サポートに確認してみたところ、新規でシステムテンプレートを作成することはできないとのこと。
どこかのサイトで、データベースを直接いじって復旧できたって記事はあったけど。

このサイトは、小粋空間さんの"KoikikukanTemplateSet"を使用しているけど
どこかの段階で、バックアップした"templateset_chosyu"をあてがってしまったので
今後、アップデートの際にtemplateset_chosyuをなくしてしまうと、復旧が不可能になってしまう。

システムテンプレートが新規で作成できないのは、Movable Typeの仕様設計ミスだと思うけど、サポートの方でも対応する気はないらしいので、しかたがない。

 

 

プログラムソースを綺麗に表示するプラグイン 

ソースコードを綺麗に表示し、行番号とかも追加してくれる便利なJavaScript、
dp.SyntaxHighlighter

さらに、スクリプト記入部分をある程度自動化してくれる
kwLogさん: SyntaxHighlighter for Movable Typeを導入してみました。
// Cソース表示
int a = 10;		// 変数A
int b = 20;		// 変数B
int c = a + b;	// 合計
なにげに、結構大変だったのでメモをのこしておきます。
 

 

サイドバーのコメント一覧を破線ツリー表示 

サイドバーのコメントやトラックバック一覧のリストを破線にしたい。
画像を用意すればいいんだろうなとは思うけれども、実作業に入る前にググってみる。

StarBrotherさん:Movable Type サイドバーのツリー表示

各リストごとに、書き換える場所が明示されているので分かりやすいです。
画像も小粋空間さんのページへリンクが貼ってありました。


ちなみに、ひとくちメモのカテゴリは、トップに上がって他の記事を流さないように、日付を過去にしています。

 

 

メールフォーム 

blogの場合、レイアウトがcssで組まれているので、
既存のCGIプログラムを中央画面に表示するのが、意外とめんどくさい。

よく使うはずのメール送信CGIは、いろんな所で配布されているけれども
ブログにどうやって組み込んだらいいのか、ちょっと迷うところ。

ブログ用のメール送信CGIがないものかと探していたら
プラグインとして実装されているものがありました。

The blog of H.Fujimoto: メールフォームプラグインV2.10の使い方

このサイトには、他にも便利なプラグインが大量に公開されているので
ちょくちょく探してはインストールしています。


今は、iframeとJavaScriptを組み合わせて、ごちゃごちゃやった結果
掲示板CGIを、ほとんどそのまま使うことができたので
大抵は何のCGIでも使えそう。

店情報の登録とかは、何かCGIを探してきた方がいいだろうなぁ。

 

 

コメント記入時に「名前のみ必須」にする 

Movable Typeは、コメントを受け付けるときにメールアドレスと名前は必須にできるが
どちらか1つだけを必須にするという設定がない。
かなり謎な仕様。

大抵はメールは任意で、名前入力のみ必須にしたいと思う。

プラグインがあるかと思って探したけれど、見つからなかったので
仕方ないので、ファイルを直接変更して改変。
これをやると、MTをバージョンアップしたときに、やり直さなければいけない手間があるけど仕方ない。

WingMemo: コメント記入時に「名前のみ必須」にする

いつものごとく、先人のカスタマイズを拝借。
ありがとうございます。