引き続き、CodeIgniterでアプリケーションを制作中です。実際の制作過程で感じたことなどを書いてみます。
CodeIgniterでアプリケーションを制作するついでに、自分がよく使いそうなものをメモしていきます。まずは、「CakePHPでURIの形式を統一する」と同じようにURIの統一からです。
Movable Type Open Source 4.2 RC2をいじっているのですが、指定日投稿がどうやっても機能しません。
Movable Typeの新バージョン、4.2のRC2が出たそうなのでインストールしてみました。
MODxにかかせないスニペットの一つにWayfinderがあります。Wayfinderは、指定した条件でドキュメントを走査した後、テンプレートを通して出力してくれる便利なスニペットです。ナビゲーションからサイトマップまで大活躍してくれるのですが、class属性値の出力方法がいまいちなので、その改善策を紹介しておきます。
MODxのスニペットの実行速度が遅い原因を調べていた際に、MODx 0.9.7でのスニペットの処理方法についても調べたので書いておきます(結果としてはMODxが原因ではありませんでした)。
MODx 0.9.7alphaがリリースされたので、さっそくローカル環境にインストールしてみました。正式版のリリースはまだしばらく先になりそうですが、実際に触ってみた感想やら妄想やらを書いてみます(長文です)。
オープンソースCMS、MODxの次期メジャーバージョンである0.9.7のアルファ版が正式にアナウンス・リリースされました。
「MODxで複数ドメイン・複数サイトを管理する方法と問題点」の最後で書いたチャンクを連想配列のように扱う方法を改善して、汎用性の高いJSONを使うようにしてみました。
MODx WikiのeFormとスニペットのエラーに関するページを日本語に翻訳しました。
MODxのスニペット開発において、「Creating Snippets」の内容は事実上のガイドラインとなるものです。気をつけておきたい点がいくかあったため、読んだついでに翻訳しておきます。
MODxネタが続きます。現在、Dreamweaverで使えるMODxコードヒントを公開中ですが、同じくDreamweaverで使えるMODx用の挿入バーを試作してみています。
ページごとのデザインをCSSなどで変えたい場合、親要素にid/class属性を追加するというのはよくやる方法だと思います。それをMODxでやってみようという内容です。
MODxのスニペットを利用して、その他のリソースの自動インストールができそうなので、その概要をまとめておきます。
MODxのDocumentParserクラスをちょこちょこ読んでいるのですが、いくつか気になる点があったのでまとめておきます。
MODxのプラグイン、PHxで正規表現による文字列の置換を行うためのカスタムモディファイアを作成してみました。
現在、Wordpressのおっせかいな自動整形機能を無効にするためのDisable wpautopというプラグインを導入していますが、新たにKill WP Texturizeというプラグインも導入しました。
新しいサイトの制作にオープンソースCMS、MODxの採用を検討しているのですが、複数ドメイン・複数サイトの管理方法に悩んでいます。
「Wordpressでins要素が不正な(X)HTMLに変換される」で、WordPressの自動整形機能が(X)HTMLを破壊することがあると書きましたが、script要素や連続するプレーンハイフンを使った場合にも同様の不具合があることに気づきました。
「CakePHPでアプリケーションの設定を編集するページを作りたい」で、一画面で複数のレコードを編集するためにモデルクラスのgenerateList()を使ってビューを作成しました。この場合、フォームから送信されたデータをそのままでは保存できないので、これをモデルデータ形式の配列に戻すメソッドを作ってみます。
「CakePHPでアプリケーションの設定をデータベースに保存する」で書いた方法でアプリケーションの設定を編集するページを作っています。
技術評論社のLLフレームワークBOOKSシリーズ Fast CakePHPが発売されました。
WordPressでは記事に作成順でIDが付けられるのですが、このIDをそのままURIの一部として使うと困ることになります。
WordPressではトラックバックやピンバックもコメントの一部として扱われるのですが、トラックバックのデータだけが気持ち悪い形で保存されています。
WordPressを継続的に利用するのはこのブログが初めてなのですが、予約投稿にいくつかの不具合があることに気づきました。
WordPressでトラックバックのテストをしていたところ、このブログで使っているテーマ「i3Theme」では具合が悪い部分があることに気づきました。なので、やっぱりテーマを自作することにしました :x
CakePHPで制作中のアプリケーションで設定をデータベースに保存する処理を書いていたのですが、「"アプリケーションの設定の保存方法" フォーラム - CakePHP Users in Japan」経由で簡単な方法があることを知りました。
CakePHPでアプリケーションを作成する場合、注意しておかないと外部から容易にデータを改竄できるアプリケーションができあがってしまいます。この問題はCakePHPガイドブックにも書かれています。
CakePHPのURIは、通常、コントローラ名/アクション名/パラメータという形になりますが、実際には、コントローラ名/アクション名/パラメータとコントローラ名/アクション名/パラメータ/のどちらでも同じようにアクセスできます。とても気持ち悪いので一つのURIに統一するようにしています。
このブログにはオープンソースCMSのWordpressを使用しています。パッケージは、最新版の2.3.1の日本語リソース入り(ja:resource « WordPress Codex)を使用しました。