block:idやcms:idの書き方、PHPコードを書く場合の変数

2009.03.10

こんばんは、okadaです。

WebbingStudioさんがブログでSOY CMSを取り上げてくれました。
北海道開発オフ:SOY CMSは、SOHOやWebデザイナーの救世主になるのか - ウェビンブログ

第7回「DevDo北海道開発オフ」という勉強会でSOY CMSを取り上げてくださったとのことです。
うれしいですね。

ちょっと厳しい意見が多いのですが、どれも至極当然のものだと思いますので、今後の開発で取り入れていきたいと思っています。
次のエントリー(エックスサーバーにSOY CMSをインストールする)で

前回のレビューでは業務利用の面からかなり辛口なことを書いていますが、SOYCMSは個人用としては充分なCMSです。
MovableType等のブログにはない機能もありますので、興味のある方はいちど使ってみてください。

フォロー(?)してくださってます。なんかソイ坊や(仮)が叫んでますね。

 

で、指摘を受けた内容のうち、「WYSIWYGエディタ(TinyMCE)のインターフェースだけ異常に細かい点」ですが、次期バージョン1.2.4で改善を試みました。ぜひ確認していただければと思います。

「要素の中身を残したまま属性値かコメントで独自タグを指定する」仕様については、参加者からのご指摘のとおりです。

設計時の見本(モック)がそのままテンプレートとして使えるし、修正した場合でも反映が楽なのがポイント

キャッチコピー「HTMLほとんどそのまま」にあるとおり、これがウリでもあります。
ただ、これだと不便というか使いにくい、面倒というのもわかるので、HTMLのコメントでも指定できるようにしています。
例に挙げられていた <p><$mt:EntryTitle$></p> の場合ですと、

 <p><!-- cms:id="title" --><!-- /cms:id="title" --></p>

のように書くこともできます。マニュアルには未記載で申し訳ないのですが、これを次のように短縮して記述することができます。

 <p><!-- cms:id="title" /--></p>

これなら<p><$mt:EntryTitle$></p>と同じように使えるのではないでしょうか。

「titleやalt等の属性値内に記述できない」という点ですが、これはご指摘のとおりです。
1.2.3まではたとえばカスタムフィールドに画像のパスなどを設定してもimgタグのsrc属性に設定するにはPHPコードを書くしかなかったのですよね。
1.2.4ではカスタムフィールドプラグインが強化され、属性値に出力することが可能になっています。ぜひ試していただければと思います。

なおPHPコード書く際、$pageでそのページで使われているすべての変数にアクセスすることができます。また、ブロック内(block:id, b_block:id, m_block:idの設定された箇所)ではそのidの値と同じ名前の変数(block:id="news"であれば$news, b_block:id="entry"であれば$entry)でそのブロックで使われる値にアクセスすることができます。詳しくはvar_dumpなどで見てみてください。

「概要を出力する方法がわからない」ともありました。個人的には本文(cms:id="content")と追記(cms:id="more")で事足りるのではないかと思っていたのですが、そうとも限らないようです。
1.2.4では cms:id="content" や cms:id="more" と同時に cms:length="100" を指定すると、本文や追記からタグを取り除いて先頭から100文字を出力するようにしました(mb_substr(strip_tags($text),0,100)と同等)。もちろん cms:length の値は自由に設定可能です。

 

マニュアルの整備不足でアピール不足な点が申し訳ないのですが、今後ともSOY CMSを活用いただけると幸いです。

SOY CMSのコンセプトとは?

2009.01.23

こんばんは、okadaです。

CoreserverでSOY CMSを運用する際の覚え書きという記事を見つけました。SOY CMSを使ってくれている上に導入の手順まで書いてもらえて大変ありがたい限りです。

マニュアルやノウハウといった情報の少なさは指摘のとおりだと思います。
マニュアルは結構頑張って整備したつもりなのですけど、機能追加に追いつけず書かれていない機能も結構あったりします。

でも導入時の壁はやはりコンセプトの把握でしょうか。これも指摘のとおりだと思います。
マニュアルはチュートリアル以外はリファレンスという位置づけなのでそれを読んでもどうしたらいいかわからない!となりますよね。
資料は少ないながらも結構作ったつもりなのですがあちこちに散らばっていてどれがどれなのかよくわからないということもあります。

というわけで資料をまとめてみました!
これらを読めばSOY CMSでサイトを構築するときにまず何をすればいいのかが見えてくるのではないかと思います。(どれもPDFです。)

今後とも「SOY CMS」をよろしくお願いします。

あ、次バージョン1.2.3のリリースは来週開けになりそうです。すみません

お薦めお試し方法

2008.12.04

こんばんは、ふるしょうです。

SOY CMSを試してみたいけどなかなか実際に試してみるまで至らない、というお話をよくお聞きするので、お薦めのお試し方法を紹介しておきます。

1.まずSaaS版にアカウントを作ります。(デモサイトでも構いません)

2.ページを適当なURL(たとえばトップページなら空欄)で作成します。

3.実際に公開されているサイトのトップページのhtmlを、2.で新規に作ったページのテンプレートにコピーアンドペーストして、cssや画像のリンク はhttp://・・・/から始まる形に書き換えて直接呼び出すようにします(コピペ前にエディタなどで置換しておくのが楽です)。

4.ソースのなかで、新着記事など書き換えたいところにblock:idとcms:idの設定を書き加えます。

5.ブロックの設定を行い、ページを公開します。

ブロックの追加方法はこちらをご覧下さい。

これで、SOY CMSがどのような仕組みで動いているか大体お分かりいただけると思います。

なお、テストに使用するhtmlデータの権利関係に関しては、ご自身で責任を持って管理をお願いします。

資料を作成しました。

2008.12.01

ふるしょうです、簡単なものですが、SOY CMSの使い方の特徴がわかりにくいというお話をいただいたので、初めてSOYCMSをお使いになられる方向けに簡単な資料を作成しました。ページの種類をどう選択するのかのフローチャートも添えてありますのでご覧下さい。

SOYCMS概要説明(PDFファイル

トップページの作り方

2008.09.01

サイトのトップページの作成方法がわかりにくいとのお話があったので説明します。

サイトのトップページ(ルートサイト設定をするサイトはhttp://**/直下、それ以外のサイトはhttp://**/サイトID/)を作成するには、ページの詳細設定でURIのところを空にすればOKです。

フォーラムにも同じ情報をアップしておきますね。


WebSig会議でSOYCMSの説明を行いました

2008.07.29

古荘です。先週末秋葉原で開催されたWebSig会議 でSOY CMSの説明を行いました。

また詳しい様子はWebSig24/7さまのサイトに掲載されると思いますが、そのときの資料をこちらでも公開しておきますね。どういったコンセプトのCMSかざっくりご理解いただくためのものとなっています。

SOYCMS解説資料 (PDFファイル:1.9MB)

ブログクライアント

2008.06.13

次リリースに向けてブログクライアントの検証中です。

現時点で次のブログクライアントで確認しました。(2008/06/13現在)

フリーで使えるブログクライアントを中心にチェックしました。
MovableTypeで使えるブログクライアントなら問題なく使えそうです。

他にもこんなソフトがあるぜ!これって対応してるかな?という場合は SOY CMS フォーラム - ブログクライアントについて に情報を投稿して下さい。

プラグイン開発についてその4

2008.06.04

プラグイン開発その4 イベント

SOYCMSのプラグインでは「エントリーが保存された」、などのタイミングで処理を行うことが可能となっております。
イベントは多数用意されていますがここでは一部を解説します。

続きを読む

プラグイン開発についてその3

2008.06.04

プラグイン開発その3 管理画面での設定

プラグインによっては設定項目を持つ必要が出てきます。

ここでは、設定項目の表示と値の保存、値の読み出しについて解説します。
自前でSQLiteやファイルベースのデータベースを持つことは可能ですが、SOYCMSではプラグイン毎に簡単に
データを保存する機能が搭載されています。

続きを読む

プラグイン開発についてその2

2008.06.04

前回に続いて「Hello, World!」プラグインの開発を例に説明を続けます。

「Hello, World!」プラグインの機能の一つである【テンプレートに記述すると「Hello, World!」と表示される。】機能
を実装します。

続きを読む