My Jeans CMS:2010年 03月の記事

インラインスキン機能を追加 [スキン]

2010年3月31日

Jeansのスキンは、機能別に別々のincファイルに記述することで、スキン全体の見通しを良くしようとしていて、基本的には、Nucleusのスキン・テンプレートと同じ概念を採用しています。Jeansにおけるテンプレートとしてのスキンは、Nucleusのテンプレートよりも汎用性が高い作りになっていますが、反面、1-2行の記述で済むテンプレートでも一つのincファイルを用意しないといけないので、そのあたりが煩雑になります。

そこで、SVN183では、スキンの中に別のスキンを記述できるようにしました。数行で収まるような簡単なテンプレートの場合、このようなインラインスキンを記述した方がスキン全体がすっきりします。とりあえず、/skins/admin/edititem.incの33行目付近で使ってみました。

WYSIWYGプラグイン用のインタフェースを作成 [プラグイン]

2010年3月26日

SVN177で、WYSIWYGプラグインが作成できるようにしました。まだ、テスト用に作成したプラグイン、jp_NicEditにしか対応していませんが、2-3日うちに複数のWYSIWYGをインストールした状態で、ユーザーごとにどのエディタを用いるのかを選択できるようにします。

2010-03-26-NicEdit.png

WYSIWYGプラグインでは、以下に述べる3つの実装が必要です。

アイテムの入れ子構造対応について [一般的なこと]

2010年3月23日

アイテムの入れ子構造対応について、SVNで別ブランチを立てて、考慮中です。ここで、全体の構成としてどのようなツリー構造にすればよいのか、考えています。
2010-03-22-nest.png

管理画面にサイトマップを作成中 [一般的なこと]

2010年3月20日

Concrete5やMODxの管理画面では、コンテンツがツリー表示され、サイトの全体の構成が一目瞭然です。新しくCMSを作成するのなら、やはり、こういった機能も盛り込みたいところです。

まだまだ製作途中ですが、SVN164では、こういった機能をサイトマップとして、導入してみました。バグが少なからずありますが、使い勝手等、感じはつかめると思います。こんな感じになります。

2010-03-20-sitemap.png

strftime代替機能 [コード]

2010年3月9日

strftimeがサーバの設定によってさまざまな挙動をするので、Jeansでは代替機能を提供すればどうかというアイデアをいただきました

そこで、strftimeの代替関数を書いてみました。ポイントとしては、ロケールを指定するのではなく、言語ファイル(skins/jeans/language/japanese.phpなど)で表示する内容を設定するということです。

Jeans CMS 0.7.0 alphaを公開 [一般的なこと]

2010年3月3日

バージョン0.7.0を、最初のαバージョンとして、公開しました。以下のリンク先で、ダウンロードできます。

http://sourceforge.jp/projects/jeanscms/releases/

まだαバージョンです。仕様が今後変更される可能性が高いので、ご利用の場合はご注意ください。今のところ、0.8.0にバージョンを上げるときに一度、0.9.0に上げるときにもう一度、SQLテーブル構造の変更を行うことを予定しています。テーブル構造に変化があった場合のアップグレードは少し複雑な手続きになりますので、そういった場合はこのサイトかSourceforgeのフォーラムでご質問くだされば、その方法についての情報提供をできる限りさせていただきます(実際、このブログはそういったやり方でアップグレードを繰り返しています)。

スキンの継承機能を整理 [一般的なこと]

2010年3月2日

スキンの継承機能については、ずいぶん以前から殆どのコードが書きあがっていたのですが、まだ完成していませんでした。今回のバージョン(SVN 147)で細かく見直して、実際に継承が行えるようになりました。

デフォルトスキンを継承するケースについて、簡単に説明します。ここでは例として、default2という名のスキンを作成し、defaultスキンの改変バージョンとして利用するやり方に付いて、取り上げてみます。

defaultスキンでは、head.incにおける記述によってスタイルシート(cssファイル)を指定していますので、head.incを改変し、サイト全体が赤っぽくなるようにしてみます。Nucleusで同様のことをしようとすると、書き換えたhead.incだけでなく、すべてのファイルを含んだスキンを用意し、skinbackup.xmlを書き換える必要がありました。Jeansでは、スキンの継承機能を用いて、より少ない手間でこれを行うことができます。