maki-o memo

制作に関する私的なメモです

「a-blog cms 2.0 に欲しい機能」

日頃お世話になっている、国産cmsの「a-blog cms」が、近々バージョン2.0をリリースするとのことです。
そのリリースに先立って以下の様なキャンペーンをしていたので、賞品を狙って(iPad mini)エントリー書きます。

a-blog cms 2.0 に欲しい機能を!

欲しい機能

これはぼく、前々からお伝えしているのですが、「ユニット内でのパスの適正化」です。

えっと、それだけではなんのことかわからないと思うのですが、a-blog cmsのユニットで、テキストの自由入力を使用する場合です。
この入力方法ではhtmlをそのまま入力する場合が多いです。

で、htmlをそのまま入力しても基本問題ないのですが、唯一画像のパスが問題になってきます。

どう問題になるかというと、まず、a-blog cmsのテーマファイルになるものは、ドキュメントルートから以下のようなパスに配置されます。

/themes/hoge/

hogeディレクトリがテーマ名です。
この場合hoge以下に位置するエントリーに、テキストの自由入力で以下のようなユニットを追加します。

<img src="/images/fuga.jpg" alt="" width="100" height="50">

こう書くと、ユニット以外のテンプレートの部分にあるものであれば、srcの値をカレントディレクトリ以下のものに書きなおしてくれます。
つまり、

<img src="/themes/hoge/images/fuga.jpg" alt="" width="100" height="50">

こうなります。

このパスの適正化が、ユニット内だけなされないのです。
つまり、

<img src="/images/fuga.jpg" alt="" width="100" height="50">

このまま。
ドキュメントルートのimagesディレクトリに、fuga.jpgなぞないのです。

「もう最初から、/themes/〜って書けばいいんじゃね?」

と、思われると思うのですが、これで一番最悪なのは、現状のサイトが動いていて、一階層下で構築をしている場合。
つまり、

http://www.sample.com/dev/

とかに、構築する場合ってありますよね。
この場合、imgのパスがどうなるかというと、

<img src="/dev/themes/hoge/images/fuga.jpg" alt="" width="100" height="50">

こう書くしかない。
これ正式リリースしたとき誰が治すの?orz

この場合もう一個悲劇が起きます。
そう、aタグ。
つまりこうゆうことが起こる。

<a href="/dev/foo/bar.html">ふーばー</a>

めんどくさーー!!
なおしたくなーーーーい!!(忘れる

。。。orz


地味ですか?地味ですね。

なので自分で書きました

ユーザー定義の校正オプションです。
書けるから頑張って!ってどなたかにも言われた。
ファイルはこちら。

https://github.com/maki-t2nd/code-written/blob/master/php/ACMS/User/Corrector.php

2コありますが、上のadd2pathてやつです。(名前てきとう
このファイルを、/php/ACMS/User/に設置し、
コメントにもありますが、/themes/system/include/column.html の21行目近辺を、

<!-- BEGIN none -->{text}[raw|add2path]<!-- END none -->

とゆうふうに変更してください。
それで幸せになれるはず。
下のもう一個のは、何に使ったのか謎ですが、テキスト置換するやつです。(おまけ

とゆうわけで、

a-blog cmsに欲しい機能でした。
自分で実装しましたが、デフォルトであるといーなー。と。

a-blog cmsってphpわからなくてもなんとかなりますが、
phpちょっとでもわかると、更になんとかなりますよ。
というお話しでした。

iPad miniほしい。
現場からは以上です。


プロフィール

フロントエンドエンジニア

Tomokazu Makita

名古屋でフリーランスでWeb制作してます。 フロントエンドのことを主にやってます。
a-blog cmsを使用したサイト制作が得意です。
お仕事のご相談随時受付中。

雪山大すき。冬は雪山の合間に仕事します。
財布はいつも吹雪です。

エントリーリスト

タグ