«Prev ||
1 |
2 |
3 |...|
16 |
17 |
18 ||
Next»
合宿中の思いつきだったんですが、意外と便利っぽいので記事にしてみることにしました。
せっかく1ファイルで済んでいるプラグインが、多言語化のためだけに複数ファイルとなってしまうのは、もったいない。
ということで、こんな感じでどうでしょうか。
プラグインファイルは、UTF-8で書きます。(EUC版で使う場合でも)
で、以下のようなメソッドを用意しておいて、必要に応じて呼び出します。
下記例では、EUC版、UTF-8版、英語版の3つに対応していますが、別の言語を追加するのも簡単です。
function defineMultilanguage()
{
$multilang = array(
'_DEFINE_LANGUAGE' => array('English', '日本語'),
'_DEFINE_GOODMORNING' => array('Good morning', 'おっはー'),
'_DEFINE_APPLE' => array('apple', '林檎'),
);
switch (ereg_replace('[\\|/]', '', getLanguageName()))
{
case 'japanese-euc':
foreach ($multilang as $key => $value) define($key, mb_convert_encoding($value[1], 'EUC-JP', 'UTF-8'));
break;
case 'japanese-utf8':
foreach ($multilang as $key => $value) define($key, $value[1]);
break;
default:
foreach ($multilang as $key => $value) define($key, $value[0]);
}
}
別になにも変わったことしてないので、すでにやってる人もいる気がします。(あえてループの外でスイッチしてます)

アイテム投稿で、日付をグラフィカルなカレンダーから入力できるようにします。
...続きを読む
いつの話しやねん、、、まとめ記事書いてませんでした。いや、もう、燃え尽きて、ぶっ倒れておりました。
合宿ってものを一度やってみて、「こうすれば良かったー」ってものが見えてくるわけで、”最初の合宿”(?)としては良かったのではないかと個人的には思ってます。でも、やっぱり成果の発表枠は確保しておいた方が良かったですね。合宿内で
妹認証プラグインを出産・公開までできたセンセーにはビビリまくりです。
ブログで成果を書いている方もいるので、リンクはっておきます。
参加メンバーのブログ記事リンク集(順番は隊長から座席右回り)
隊長:Nucleus開発ガッチュク。その1
若:Nucleus 合宿
しづきさん:Nucleus開発合宿
やまさん:Nucleus開発合宿に参加しました
よたかさん:青春18切符残りの2枚(ナニする?さてナニしよう?)
Andyさん:Nucleusの開発合宿に参加しました
yuさん:Nucleus合宿
センセー:Nucleus合宿・第1夜
kalmさん(テーブル囲まれた中):Nucleus CMS Japan開発合宿
自分は何をやったかというと、、
- 半日近くの貴重な時間、壊れたパソコンと格闘orz
- NP_AddHandler
- プラグイン名ではない名前のスキン変数を自由に追加できるようにするプラグイン。新幹線内で作ったけど、冷静に見るとゴミでした。(涙
- NP_SkinnableAdmin(管理画面も表スキンで自由に作成できるようにするプラグイン。iPhone用とかね。)
- 管理ページをMVCモデルで実装するフレームワークの土台を用意してきましたので、プロジェクタ借りてざっくりと紹介
- overviewアクションしか実装していなかったので、合宿中に上記フレームワークに基づきitemlistアクションを実装しました。
- さて、管理ページは、いったいいくつのアクションがあるのだろうか、、それらすべてを実装するのに、あとどれくらいの日数がかかるのだろうか?
- で、合宿後の課題は、分業(誰が?w)で実装作業ができるように、フレームワークのドキュメントを整備すること。
- 言語ファイル不要のマルチランゲージ対応構造
- NP_SameSubcat の要求仕様確認
- NP_PluginAdmin の構想(簡単管理画面実装)
- NP_PageSwitch テンプレート対応版 フォーラムにアップ
一番の成果は、
想像以上のスーパーサイヤ人達を生で見れた、、ってことかな。
Andyさんの
Foodyn CMSのプレゼン、すばらしかったです。
Nested setや、
RESTfulについての基本概念まで含めながらも短い時間にすっきりまとまった内容でした。脳の構造が違うんだろうなぁ、、どこまでもついていきますw
みなさま、お疲れさまでした。増版分と今回の残りで、またやりたいですねぇ。
あ、、っという間に、合宿の終わりが見えてきました。
んーパソコン調子悪くて半日無駄にしたのが惜しい。
あと少し、さー何やる?
(写真はあとから差し込みます。)
東京駅では、改札出口ぢゃないところに切符入れて改札に怒られた。
うろちょろしてやっと出れたけど、新幹線内に地図忘れて呆然、、、としていたら、けつねはん発見。
みんなと合流して、無事、飲み会のお店に連れて行ってもらえました。
ホテル到着。ネットワーク不安定で苦戦。
さー、何やる
明日、明後日と、東京でNucleus CMS Japan チームの開発合宿をやります。そんで今日は、前夜祭(?)で飲み会。
モバイル環境ないので、回線つながるところから更新したいと思います。
やりたいことリストには色々書いてあるんだけど、個人的には「管理画面を何とかしたい。」っていうのが形になれば良いなぁと。
AndyさんのFoodyn CMSも楽しみ。
さて、お昼ごはん食べたら出発!(名古屋名物買ってかないと。)
事後報告です。^^(ちゃんと事前に告知しなさい自分。
CMS大決戦参加してきました。
← 表彰の様子(一応、お顔はマスクしたのですが、逆に「そんなのするな」と言われそうな気がします。)
クチばっかり星人ですみません。
よたかさん、関係者の皆様ありがとうございます。お疲れさまでした。
10のCMSが各10分のショートプレゼンを行い競っちゃおう。ってお茶目なセッション。
「大決戦」ってタイトルでビビっちゃってましたが、本当にみなさんアットホームな雰囲気で(日本人の気質なのかなぁ)、とっても楽しかったです。刺激になりました。
で、結果の方は、、無事(?)上位5組の中に入ることができました。。ギリギリ^^
じつは当日カメラを忘れちゃいまして、会場の様子を撮ることができませんでした。
それで、撮影されていた方にあつかましく「よかったらメールで送ってください!」とお願いしたところ、わけの分からない者のわがままにも関わらず、快くご承諾いただきまして写真を送っていただいたのであります。
しかも、何とNucleusをお使いとのことで、驚きました。(↓ ここでの紹介もOKいただきました。)
TomnekoSoft.com :: Firebird RDBMSの情報
Tomneko blog
本当にありがとうございました。
あと、、
CodeIgniter(PHPフレームワーク)セミナー(書籍購入時、領収書受取忘れたのがショック)、Geeklogセミナーも面白かったです。当日全体の入場者数は400人を超えていた様子で、とても盛り上がっていました。昔からよく、”名古屋は何をやっても盛り上がりにかけるので、「名古屋飛ばし」”なんて言われてましたが、最近は関係なくなってきてるのかしらん。
名古屋でも、いろいろなイベントがもっと盛んになるとうれしいなぁ。
(p.s. MODxにも投票したかったのは内緒)
重度の英語アレルギーなので、Nucleus本家の動向はまったくチェックできていませんが、結構古くから、「Skinnable Admin Area」の話が出ているんですよね。前進してるかどうかはノーチェックなのでわかりません。正直あんまり気にならないのは何故って話はおいといて^^
Twitterで話しに出た、「表スキンで管理ページ」について。
以前、CMSに不慣れな運営者のために、管理画面の一部の機能(ユーザ管理など)を表スキンに実装したことがあって、もうちょっと煮詰めれば 「Skinnable Admin Area」 を実装できるのではないかと、、ちょうど合宿ネタにもピッタリなんじゃないかということで、土台を作り始めました。
Nucleusの管理ページの構造
pagehead()メソッドにハードコードされたhtmlを出力
次に、各actionの結果を出力(各actionの結果もハードコードされている)
最後に、pagefoot()メソッドにハードコードされたhtmlを出力
ちなみに、NP_znCustomAdminってプラグインではハードコードされている、pagehead()、pagefoot()、のhtmlを差し替えています。
NP_AdminSkinの構造
新設したスキンタイプ「admin」の内部の<%AdminSkin(main)%>と記述した箇所に、各actionの結果を出力します。
更に、各actionの結果は、個別のテンプレートファイルを読み込みます。
実際には、ヘッダ内のextraheadや、クイックメニューの構造もあるのですが、おおまかには上記のようなイメージになります。
あと、細かい部分では、
- ?admin=overview といったgetパラメータが存在すると、新設した「admin」タイプのスキンが呼ばれる。(action.php用に「action」パラメータを使われているため「admin」という名前を使用していますが変更可能)
- MVC的には、指定action(model)に紐付くviewを呼び出している。(ちなみにcontrollerはプラグインのdoSkinVar)
- テンプレートファイルではSmartyっぽいループ処理が可能(アイテム一覧にトラックバック数を入れ込んだりできる予定)
- 現状ではできないけど、使用するスキンごとに管理画面の構成を変えられると面白いかもと、妄想
- 現状では、プラグインディレクトリに存在するテンプレートファイルに記述するので、NP_znCustomAdminのようなスキン二次配布のお手軽さがない。
ということで、ExtJSデスクトップ版new Adminは、当面放置の予定^^
世界中で、ただ一人に向けた投稿です。ドキュメントに書いたつもりでいました。
しづきさんすみません。
スキン・テンプレートの「読込/書出」から、旧版のadminテンプレートをファイルに書き出して、、
<part name="STP_PLUGINNAME"><![CDATA[NP_znCustomAdmin]]></part>
をtemplateノードの下に追加
それを、「読込/書出」から、読み直してください。
NP_znCustomAdminと、NP_znSpecialTemplatePartsで使用できるようになっていると思います。(記憶が確かなら。。

アイテム・コメント内で、スマイリーアイコンを使えるようにするプラグインです。
アイコンは、管理ページで簡単に追加・変更することができます。
バージョンアップしてたのですが、公開するのが遅れちゃいました。
変更点は、
- ブログ単位で、無効・有効の設定が可能になりました
- アイテム追加ブックマークレットにも対応しました
です。
NP_znSmiley解説ページからダウンロードできます。(この記事で紹介しているver1.15が最新版です。)
«Prev ||
1 |
2 |
3 |...|
16 |
17 |
18 ||
Next»