2008/1/31 Thursday 13:36:27
XML宣言は文書の冒頭に
<?xml version=”1.0″ encoding=”utf-8″?>
というような記述をし、XML文書であることを宣言するもので、記述が推奨されている。
理屈で言えばUTF-8では省略できるのだが、推奨されているんだから書いておこうっと。
ユーザの環境では必ずしもUTF-8が使えるわけではないし、必須事項として書く癖をつけておけば良いと思う。
ただし、XHTMLコーディングを行う際にこのXML宣言を記述すると、IE6で表示崩れを起こすことがある。
XML宣言によって意図しない表示モードになってしまうからで、これを「IEの仕様」とは受け入れ難く私は敢えてバグと言うんだけど。
そこで、CMSで動的にページ生成できるときには、プログラムで宣言のありなしを制御するようにしている。
(要はIEで表示する場合だけXML宣言を取ってしまうということ。)
MODxではスニペット([[XmlVersion]])を作り
<?php
f (!ereg(”MSIE”,$_SERVER[’HTTP_USER_AGENT’])) {
echo “<?xml version=\”1.0\” encoding=\”utf-8\”?>\n”;
}
?>
テンプレートの冒頭に追加する。
[[XmlVersion]]<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” lang=”ja” xml:lang=”ja”>
スニペットタグの後ろに改行を入れないこと。
また、XHTML文書のキャッシュはすべてオフにしておかないと意味がないので注意。
スニペット呼び出しの際に[!XmlVersion!] と書けば良いことがわかった。
これでこの部分だけはキャッシュされなくなる。
MODxに限らずどんなCMSでもインストールしたら真っ先にやることのひとつ。
Wordpressならheader.phpの冒頭に上記PHPコードを追加すればOK。
Nucleusなら上記PHPコードを記述したファイル(xml_version.php)をスキンファイルと同階層に置き、
<%phpinclude(xml_version.php)%>と呼び出して使用する。
2008/1/30 Wednesday 12:11:46
昨年から自社サイト整備を順次行っているが、現在SOHO KOEDAサイトのリニューアルを決行中。
スタッフ領域は既に完全システム化しているものの、表サイトをシステム化するのは初めてのこと。
今回はMODxを使ってみることに決定した。
早速インストールしてみたが比較的簡単にできた。
ただし、MySQLのバージョンの問題で日本語が文字化けするため、ほんの少しソースに手を加えなければならなかった。修正は2箇所。
/manager/index.php
の143行目に
mysql_query(’SET NAMES utf8;’);
を追加
} else {
mysql_select_db($dbase);
@mysql_query(”SET CHARACTER SET {$database_connection_charset}”);
}
mysql_query(’SET NAMES utf8;’);
manager/includes/extenders/dbapi.mysql.class.inc.php
の107行目に
同じく
mysql_query(’SET NAMES utf8;’);
を追加
$modx->queryTime += $totaltime;
}
mysql_query(’SET NAMES utf8;’);
}
これでMySQLのバージョンによる文字化けは解消した。
(この方法はいろいろなCMSで有効なので、該当箇所を探し
mysql_query(’SET NAMES utf8;’);を追加し解消できる。 )
MODxではプラグインなどの他に、スニペット、チャンクという概念がありいろいろな機能を簡単に実装できたり、デザイン的な自由度が高いため、あらゆるサイト構築に向きそうだ。
楽しみ♪
2008/1/29 Tuesday 16:28:02
「ブログを自前で」の念願がやっと叶った。
結局Wordpressに落ち着いたんだけど。
今回のカスタマイズについてはもちろん今まで通りのこだわりをもって行った。
WWWの片隅で仕事をしていながら、ブログにはどうしても拒否反応がある私としては
* とにかく見やすい構成
* わかりにくい言葉の排除
* 難しい機能の排除
* 美しいソースコード
に特に配慮してみた。(デザインはともかく・・・^^)
Wordpressは何度となくサイト構築も行っているので 、インストール自体に問題はなかったものの、久しぶりのカスタマイズだったので結構時間がかかってしまった。
入れたプラグインは以下の通り
まだ活用できていないものもあるが、プラグインのソース整備(Mobile Eye+はデフォルトのまんま!)も含め大体一段落したと思う。
・・・というわけで今日からまた再開します。
実に2ヶ月以上ぶり^^;
2007/9/3 Monday 18:01:34
少しずつではありますが、カスタマイズしています。
nmoxmessageというプライベートメッセージ機能を追加できるプラグインを入れてみました。
デフォルトで会員間でメール送信ができる機能がありますが、メールアドレスを知らせてしまうことになるので、このプラグインは有難いです。
メッセージが届くとメールでお知らせしてくれます。
また、ログインするとメッセージページに行かなくても「未読あり」の表示が出ます。
これを採用してメール送信機能は隠してしまう(使用不可にしてしまう)ことにします。
初めてのプラグインインストールでしたが、とても簡単でした。
時間ができたら自分でもプラグインを作ってみたいですね。
2007/8/31 Friday 11:46:53
先日Net Commons(ネットコモンズ)を使用すると宣言したTeamKですが、カスタマイズにかなり時間がかかりそうで早くも挫折・・・。
でもとても使いやすいと思うので、別の機会にぜひ利用したいと思っています。
・・・と言うわけで
今はGeeklog(ギークログ)に取り組んでいます。
公式サイト
http://www.geeklog.net/
日本公式サイト Geeklog Japanese
http://www.geeklog.jp/
とてもセキュアなCMSだということで、期待です。
デザインカスタマイズだけでも容易ではなさそうですが、今度こそがんばろうと思います!
お待たせしているみなさん、ごめんなさい。
もうしばらくお待ちくださいね!
2007/8/23 Thursday 11:55:07
いろいろ迷っていましたが、TeamKのサイトをGPLライセンスのCMSで構築してみようと決めました。
いろいろ試行錯誤ののち、Net Commons(ネットコモンズ)を採用。
公式サイトはこちら↓
http://www.netcommons.org/
国立情報学研究所が情報共有・e-ラーニングの基盤として開発したそうで、シンプルかつ面白い機能がいろいろ。
使用言語で「KIDS」を選べるのが楽しいです。
検索 → さがす
言語の選択 → ことばをえらぶ
なんて感じです。
これは今後参考にさせていただこうと思います。
XOOPSをベースにしているので、インストールはとても簡単。
XOOPS仕様なのでNorton利用だとログインできない場合ありで、ユーザは設定変更が必要ですが、プロの方々に使っていただくシステムなので問題ないでしょう。
TeamKで使いたい機能は充分揃っていて、携帯にも対応しているらしいので使い勝手も良さそうです。
今日からカスタマイズ開始です。
さくさく行くといいなぁ♪