2009年1月[wordpress]ページ階層をメニューにして出力するプラグインwordpressをさわっています。人気が出るだけのことはあって、APIがしっかりしていますね。みなさまへwordpressのページ機能を使って上のような階層を作ったら、そこからメニュー用のHTMLを生成してくれるプラグインというのを作ってみました。mogya_menu_plugin-0.1.zipインストール他のプラグインと同様に、ダウンロードして解凍して、pluginsディレクトリに配置すればOKです。?></div>と書くと、その部分にメニュー用のHTMLが出力されます。style.cssの内容をご自分のテンプレートのstyle.cssに追記してあげると、上であげたようなメニューができあがります。機能メニューの並び順については、wordpressでの指定が尊重されます。wordpressページの編集画面で「属性-順序」の数値を変えることで、自由に並べ替えることが出来ます。文字列だけでなく、メニューに画像を使うことも可能です。ページの編集機能で、「navigationMenu_title」というプロパティを作成すると、メニューのタイトル部分に設定されます。/>と言うように記述すれば、タイトル部分にimgタグが出力されるので、文字列の代わりに画像を使ったメニューを実現できるようになります。リンク先を置き換えることも出来ます。最初のサンプルで、「ホーム」というメニューがありますが、これは、navigationMenu_linkというカスタムフィールドに「/」を設定することで実現できます。普通のWEBサイトのURLを記述すれば、そのURLへのリンクになります。全部のページをメニューに出すのではなくて、特定のページより下だけをメニューにすることも出来ます。?></div>というふうにします。カスタマイズ出力されるHTMLでは、dropdown,dropdown_parent,dropdown_childというクラスが使われています。それぞれdropdown_parent:親メニュー(上の例で言うなら、「会社概要」の部分)ですdropdown_child:子メニュー(上の例で言うなら、「アクセス」「ご挨拶」の部分)ですdropdown:dropdown_parentとdropdown_childを含むひとかたまりですとなっています。style.cssに、メニューを縦に並べる例と横に並べる例を記述してあるので、参考にしてください。制限ページ階層は2段階までしか対応していません。これ以上深い階層をサポートしても実用的でないような気がするので、対応する予定もありません。まとめこういうのがなくて固定でHTMLを出力してしまうと、お客さんに納品した後、お客さん自身がメニューを変更できないのでとっても不便なことになります。このプラグインを使うことで、お客さんが自分でページを追加してもメニューに反映されるようになるので、なかなかいけるんじゃ無かろうか、と思うのですけど、いかがでしょう?wordpressのプラグインは初めてなので、感想を聞かせていただけると嬉しいです。Web2に、PHPを扱う機能がついているそうなので、これもついでにやってみました。結論から言うと、ApacheとかIISをインストールすることなしに、Windows上でPHPをデバッグ/実行する環境が作れるので、WindowsでPHP使う人は多少便利かも。Webのインストール試用版をインストール。途中、製品キーを要求されるので、「オンラインで製品キーを入手するにはここをクリックします」をクリックしてWebサイトへ。メールアドレスも名前も不要で、CAPTCHA文字列だけ入れたら製品キーをもらうことが出来ます。もらった製品キーを入力してインストールを続行。バックグラウンドでダウンロードしながらインストールするので、ちょっと時間がかかります。これでExpressionWebのインストールは完了です。PHPのインストール日本PHPユーザー会のサイトからリンクをたどって、Windows版PHPをインストールします。CGI」を選ぶのがいいみたいです。Webの設定ここに、php-cgi.exeのパスを入力。PHP」でphpファイルを作成します。開いたファイルはデザインをいじるためのビューになっているので、コードビューに切り替えて、なんか適当にPHPのコードを入力。ちなみにctrl+spaceでコード補完が利きます。入力できたら、おもむろにF12をポチッとなすると...PHPのコードが実行されて表示されます。前回書いたとおり、IE以外のブラウザも起動することが可能です。開発サーバー」という独自WEBサーバを持っているらしくて、これがphp-cgi.exeを呼び出して実行結果をブラウザに引き渡しているみたい。この方式だと、ポート番号が毎回異なるので、このままインターネットに公開することは困難ですが、その代わり、外部から攻撃することも難しいので、VertrigoServとか、XAMPPより安全ですね。(3/3)をみると、文字コードShift-JISで保存してしまうので使い物にならない、といわれていますが、ExpressionWeb2では、utf-8で保存してくれるし、変更も可能です。これ、ExpressionWeb1の情報ですね。ブレークポイントを貼ったり、変数ウォッチしたり出来るわけじゃないので、VisualStudioみたいな環境を期待していると物足りないかもしれません。どっちかというと、デザイナさんがちょっとページに埋め込んだPHPをデバッグしたり、HTML部分との調和を確認するための機能なのかもしれませんね。いっても、エクスプレッションエンジンとは全然関係のない、マイクロソフトさんのツールの話です。Webteko第四回で、wanichanという方と名刺交換させていただきました。マイクロソフト製品にめちゃめちゃ詳しい人に与えられるMVPの持ち主です。Web」というのを紹介していただきました。わかりやすくいうと、ワードみたいな操作でちゃんとした(W3C規格に準拠した)HTMLとCSSを出力してくれるソフトウェアです。マイクロソフトさんのHTMLというと、エクセルが出力するとんでもないHTMLが有名ですが、ExpressionWeb2は、もっと普通のHTMLとCSSを出力してくれます。styleタグは使っていますが、思った以上にマトモでしょ?もちろんstyleタグの部分はあとでスタイルシートに直すことが可能です。そのほかコメントするPHPでメール送信(webteko第四回)ウェブテコ第4回で、PHPで作るメールフォームという話をさせていただきました。プレゼンとソースを公開します。webteko)ソース:sendmail.lzhあと、メールアドレスのミスを指摘してくれる入力フォームもよかったらご覧くださいませ。10:03:23ソースがダウンロードできなかったので、圧縮した物を上げ直しました。lzhで圧縮してあるので、解凍してご覧くださいませ。ウェブテコ第4回終了が公開されていますね。記事あげた方は、トラックバックするといいんじゃないかと思います。linuxにはcronという、決まった時間になったら○○をしてね、と登録できるシステムがあって。入力すると、編集画面が起動するようになっています。-rは、crontabの設定ファイルを消去するコマンドです。となりのキーにそんな危険なコマンド当てるなよ....確認もなしにファイルを消すなよ...こういう時のために作業ログが取られているので、そこから古いファイルの内容を拾ってきて復元できたわけですが。これは心臓に悪いなぁ。技術メモ1件のコメント空メール処理の難しさ携帯向けのサービスなんかでよく、「~(メールアドレス)まで空メールを送ってね!」というサービスがあります。いうサービスは、メールを受け取ったら、中身がなんであろうと気にせずに決まった内容を返信するように作られていて。「~(メールアドレス)まで空メールを送ってね!」というメールアドレスに「俺は返信してほしくないぜ!」という内容のメールを送っても、たぶん自動的に返信が帰ってきます。なくて、メールの本文を見て、内容が空だった時だけ特別な処理をしようとすると、これは意外と難しいです。いうと、ユーザーさんに「空メールを送ってね!」といっても、ユーザーさんが空メールを送ってくるとは限らなくて。