自動保存すごい

入力後のエラーで未登録・・・画像のアップロードなんかでよくあったようですが、これからは安心。

template.yaml

・・・なんてファイルがテーマディレクトリに置けるようになった。そして、それを優先する設定がある。
これは地味に良い。今までマルチブログの場合の設定の大変さが一気に解消しそう。

チェックリスト

チェックリストというメニューが追加されていて、各所に分散しているサイトの情報を一覧できる。
これも地味に助かりますね。それからconfigの検索機能がついているのも良いです。

拡張アプリ

何がおきるんだ・・・・まだ情報が出てないですね。謎
ディレクトリ構造を見るとphp/AAPPというのが追加されているので、きっとここに。GET/POSTの両モジュールをセットで入れれるんでしょうな。

追加されたタッチモジュール

ざっと書き出すと

今回未実装のCRM関連っぽいもの。動作内容不明。

CrmSessionWithAdministration
CrmSessionWithGeneral
CrmSessionWithViewer
IsCrmSessionWithViewer
NotCrmMenu

どうやらルートブログ判定ができるらしい

RootBlog
NotRootBlog

セッション関連

SessionIsCompilation
SessionIsContribution
SessionIsSubscription

今までのWith〜は上位の権限を含んでいたけど、これは当該権限のみでの表示。

他にもいろいろ機能追加や変更がなされていますが、全体的に良くなった感じですね。ますます今後にも期待。


1.6.0 出た直後だけど、a-blog cms に欲しい機能まとめました。

カスタムフィールドでの touch による表示機能の拡張

現状では、

<!-- BEGIN hoge:touch#on -->HOGE ON!<!-- END hoge:touch#on -->

という書き方で、カスタムフィールドの値によって表示を切り替えできますが、例えば一つのカスタムフィールドで複数の値を保存しておく場合に、カスタムフィールドに値が含まれていれば表示という動作をしたい。
書き方の案としては、

<!-- BEGIN hoge:like#cms -->CMS<!-- END hoge:like#cms -->

とするとhogeに
a-blog cms
と入っていても
soy cms
と入っていても表示されるようなイメージ。
like は include とか have のほうがいいのか英語的にどうなのかわからないですが。
これが可能なら not_touch や not_like とかも希望としては出るかもですが・・・どこまで必要かはまた考えるとして。

「詳細設定」の中にカスタムフィールドを入れる手段

現状では admin 内のファイルをコピーして、必要な場所に追加することになります。
が、やはり admin 内の system 由来ファイルはそのままで、追加フィールドだけ足したいものです。
通常の field.html のようにデフォルトでインクルードされるファイルを用意してもらうだけで安心して追加できるので。ぜひ。

カスタムフィールドの複合条件のバリデート

選択肢 A,B,C にそれぞれチェックボックス、且つチェックされていれば A',B',C' が入力できる。
というような別のフィールドの値に依存したフィールドがある場合のチェックが現状 js なんかでごにょごにょするしか方法が無いのですが。

シンプルに、

<input type="hidden" name="hoge:v#requiredBy" value="targetID#value" />

のような書き方で taegrtID の値が value の時だけ required 制限が付くというバリデーションがあるとうれしい。

カスタムフィールドのor検索でのdistinct

カスタムフィールドで複数選択の or 検索するときに、同じエントリーが複数ヒットしてしまう。
構造上仕方ない気もしますが、これを distinct する方法があるとうれしい

BTSのようなものが公開されているとうれしい

機能の話しじゃないけど、バグだけでなく、上記のような要望をまとめるのにあたらうれしい。
パートナー限定でもいいので。

以上。今後の発展を願って!


おいしい広島 Advent Calendar 2012への寄稿です。

広島の魅力

おいしい広島の話題というテーマのようなので、某大都会から広島に移住して16年目の私が、広島の外から見てた時と広島に来てから見た時の違いを思いながら、広島の「いいところ」をいくつか挙げてみま〜す。主にメジャーどころでいきますよ。

平和公園

平和公園(平和記念公園)は県外にいたときは、なんだか「戦争の傷跡が残っている場所」って思っていましたが、広島に住んでいると普通に憩いの場と思いますね。けっこう広くて、ベンチもたくさんあります。中心街から橋一本渡るとすぐの距離感もよい場所です。

春や秋のいい天気の日などはこの公園で散歩するもよし、WiFiも入るので仕事の人も使えるところです。

春になると桜が咲いて、花見に来る人も多いです。私も何度も行ってます。

宮島

宮島はさすがに県外の人でも多くの人が行ったことがあると思います。広島の人も宮島は好きですよね。私も何度も行っていますが、何度行っても飽きないところなので定期的に行きたくなります。

それから、県外からの人はあまり行ってないかもしれませんが、宮島には水族館もあります。リニューアルしたてできれいになっているようですが、残念ながら私はリニューアル後はまだ一度も行ってません。今年は行けるかなぁ。

お好み焼き

言わずと知れた名物ですが、広島に住んでみると想像以上に身近な食べ物でびっくりしました。

店舗数は人口比では日本一。とのこと。まぁ、たくさんあります。食べる回数としても多い時は毎日のように続くこともありますが、だいたい2週間くらい食べずにいると、そろそろ食べたいなぁという気分になります。不思議なものです。

しかし、関西風と比べると別物なので、名前が同じだけでこれを同じものとして比較していいのか分かりませんが・・・・。私はどっちも好きですよ。

平和大通り(100メートル道路)

ふだんは別に気にならないのですが、この道路は真ん中の車道以外に、両脇に街路樹と土の歩道があるちょっとかわった道路です。

広島に来る前は、この通りの存在すら知りませんでしたが、広島に居ると存在感のある道路ですね。

公園のように犬の散歩や、体操する場に使っている人もいますし、ほぼ毎日通る道です。

春や秋のいい時期はここのベンチなどもけっこう居心地が良いですよ。

そして毎年年末(今まさにですが)になると、ドリミネーションと銘打って広範囲でイルミネーションで飾られます。これはけっこう見物です・・・が、道路があるからといって車で見て回るのはやめましょう〜。大渋滞になっちゃってますので。

・・・ということで、以上広島のいいところ。おいしいところ。をチョイスしてみました。ありきたりなものばかりですみませんでした。

明日はtktさんよろしくおねがいします!


a-blog cms で複数選択できるカスタムフールドをどうにかするためのいろんなことをちょっとまとめます。
(現時点の私がもっている最新(1.5.1 beta1)で動作検証してます。)

複数選択のカスタムフィールドの書き方

まずそもそもどうか書くのかですが、これは簡単。特に考える事無く複数選択できる(例ではcheckboxにします)フォームを書いてしまいます。
注意点としては

  • name 属性に複数の場合は [] を付けること。
  • 編集されるときに以前の値があればそれを反映するために checked の属性をセットすること

checked属性(SELECTのフォームだと selected )については a-blog cms には、

{キー:checked#値}

という書き方でキーに値がセットされていれば checkd を出力してくれる機能があります。
これで以下のようなフォームができます。

<ul>
	<li><label><input type="checkbox" name="label[]" value="PHP" {label:checked#php}>php</label></li>
	<li><label><input type="checkbox" name="label[]" value="Ruby" {label:checked#Ruby}>Ruby</label></li>
	<li><label><input type="checkbox" name="label[]" value="Python" {label:checked#Python}>Python</label></li>
	<li><label><input type="checkbox" name="label[]" value="Perl" {label:checked#Perl}>Perl</label></li>
</ul>
<input type="hidden" name="field[]" value="label" />

最後の1行はお決まりの label はカスタムフィールドですよとシステムに教えてあげるもの。
これで複数選択のチェックボックスができました。

表示する

できあがったカスタムフィールドで複数を選択して、実際に表示するときは

<!-- BEGIN label:loop -->{label}<!-- END label:loop -->

と書けばズラズラと表示されます。
変数の前にglueを入れる事で区切りも付けれるようですね。

<!-- BEGIN label:loop --><!-- BEGIN glue -->,<!-- END glue -->{label}<!-- END label:loop -->

touchで表示を切り替えたいとき

a-blog cms のカスタムフィールドでは touch を使う事で表示できます。
例えば、

<!-- BEGIN label:touch#Ryby -->ルビー<!-- END label:touch#Ruby -->

というように。
・・・ですが、複数選択ではそうはいきませんが、何番目の値かを数字で指定することで同じ事ができます。

<!-- BEGIN label[1]:touch#Ryby -->ルビー<!-- END label[1]:touch#Ruby -->

気をつけないといけないのは、この数字がいつも同じとは限らないことです。なぜなら登録時のフォームの並びや、実際にはチェックされていない値は保存されずに番号が飛んでしまったりするためです。

{label[0]}

のように数字を付けて値を表示してみると状況がわかると思います。
これを回避する為に、登録フォームで数字を指定しておきます。

<ul>
	<li><label><input type="checkbox" name="label[1]" value="PHP" {label:checked#php}>php</label></li>
	<li><label><input type="checkbox" name="label[2]" value="Ruby" {label:checked#Ruby}>Ruby</label></li>
	<li><label><input type="checkbox" name="label[3]" value="Python" {label:checked#Python}>Python</label></li>
	<li><label><input type="checkbox" name="label[4]" value="Perl" {label:checked#Perl}>Perl</label></li>
</ul>
<input type="hidden" name="field[]" value="label" />

これで値が無くても番号通りに記録されます

おまけ

単にリスト表示の色を変更する(class名を指定するなど)であればこんな方法もあります

<span class="{label:checked#PHP}[active_chk]">PHP</span>
<span class="{label:checked#Ruby}[active_chk]">Ruby</span>
<span class="{label:checked#Python}[active_chk]">Python</span>
<span class="{label:checked#Perl}[active_chk]">Perl</span>

と、テンプレートを用意して、校正オプション active_chk を追加します。
校正オプションは /php/ACMS/User の中の Corrector.php に以下のメソッドを追加

function active_chk($txt, $args = array())
{
    $ret = '';
    if(mb_strpos($txt,'checked="checked"') !== FALSE){
        $ret = 'checked';
    }
    return $ret;
}

これで上記テンプレートで選択されている値だけ class="checked" が設定されます。


a-blog cms ではいつでも使えるグローバル変数がありますが、その値が現在どうなっているかを確認したいときがありますね。公式サイトには一覧があります。
http://www.a-blogcms.jp/support/reference/grobal_variable.html
このページを元に、手元で表示できるようにファイルを作っておくと便利です。

せっかくなので、先のページを元に作ったhtmlを置いておきます。
これをフッター等で include して使うといろんなページで確認できますよ。
消したい場合はアップファイルを削除するかファイル名を替える等するだけでOKです。(a-blog cmsはファイルが無ければ単純に無視しますので便利です)


ファイルイメージ

変数一覧