「modx」としてタグ付けされたエントリ

 
  • Home
  • Archives
  • Download
  • About
  • Contact

「modx」としてタグ付けされたエントリ

関連タグ
CI google Insights Search NP_Simplepie PHP pieX SendPing Simplepie TrackBack ZendFramework 本

2007年 9月 11(火曜日)

MODx PackPubの最終選考に!!

PackPubのMost Promising OpenSource CMSの最終選考に残りましたぁ!!
今年こそはの意気込みが通じたようです♪

ということで、最終投票のステージ開催中ですので、MODxフリーク?なみなさん投票しちゃいましょう!
右のバナーをクリックすると投票サイトに繋がります!

英語よくわからんですが・・・・先ほど投票してきましたぁ。

投稿者 ZeRo in MODx at 22:58 | コメント (0) | トラックバック (0) このエントリーを含むはてなブックマーク
このエントリに定義されたタグ: MODx

2007年 8月 27(月曜日)

pieX Ver0.6

UPDATE 2008/06/10
Ver0.7をリリースしました、テンプレート周りが変更になっています。
詳細は こちら です。

 
Simplepie For MODx 略称pieXの最新版をリリースしました。
とりあえず、βテスト扱いということで・・・。
基本的には、NucleusのNP_Simplepieとほぼ同等の機能になります。
ということで、以前のv0.4及び英語版のv0.5とはパラメタ類が変更になっていますのでご注意ください。

当面の間、テストということでMODxフォーラムへは後日・・・・。
詳細は、下記(続き)にて♪
 


"pieX Ver0.6 " の続きを読む...

投稿者 ZeRo in MODx at 23:22 | コメント (4) | トラックバック (0) このエントリーを含むはてなブックマーク
このエントリに定義されたタグ: MODx, piex, simplepie

2007年 7月 23(月曜日)

サーバ引越し計画

PHP5環境へそろそろ移行しようかと思い、XREA内のサーバ移転を計画中っす。
すでにPHP5サーバを取得して、移転できるかの検証中だったりしますが・・・意外と面倒っす。
MySQLも5の環境で、SQLのデータをそのままストアするとエラーが・・・INDEX KEYとVARCHARの問題で、そのままではいかないようです。
それじゃ・・っていうことで、SerendipityはPostgreSQLにも対応しているので、そっちにしちゃえとPostgreSQLのデータベース作成。
素のSerendipityでまずはPostgreSQLでインストール。
そこまではよかったんですが、利用しているプラグイン類の専用テーブルとかがあったりして・・・。
んーー、どちらにしろ面倒・・・もうちょっと頑張ってみてPostgreSQLで動いたらよいんだけど、駄目ならMySQL5でいきますだ。
それと・・・PHP5.2になるので要注意みたいな感じです。

いずれにしても、無料サーバのディスク容量が足りなくて、1ヶ月分のPlusを申し込んで移転作業になる予定。
8月いっぱい2つのサーバを借りて移転するので、たまにこけてたり・・・消えてたり?笑するかも知れません。

※ 7/24 とりあえず、www.petit-power.comのみ移転完了しました。

あ、あと告知ですぅ

2007 Open Source CMS Awardが始まりました。
前年度は、MODxノミネートされませんでしたが、今年こそは! ノミネート!っす

詳しくは、http://modxcms.com/forums/index.php/topic,16656.msg103690/boardseen.html#new をご覧ください。

投稿者 ZeRo in ざれごと at 23:07 | コメント (0) | トラックバック (0) このエントリーを含むはてなブックマーク
このエントリに定義されたタグ: MODx

2007年 5月 25(金曜日)

Tips 動的にテンプレートを変えるプラグイン

SJIS TIPSの流れから引き続き、関連のTIPSです。
といっても、テンプレートを変更するプラグインでTemplateSwitcherっていうプラグインがあるんですが・・・基本はこれと同じなわけです。
条件をUAによって振り分けれれば、SJISプラグインと合わせることによりページング処理を除いて携帯対応ってことになりますね。
今回使用するイベントは、OnLoadWebDocumentっていうイベントです。
このイベントが発生したときには、実は$modx->documentContentという変数には使用するテンプレートが展開されて入ってきてます。
このあとに、中身をパースしてドキュメントの中身を指示に従って入れ込んだり、スニペットを呼び出したと実際のページ作成の処理に入っていきます。
なので、このイベントでテンプレートの中身を入れ替える必要がでてくるわけです。

以下のコードは、以前携帯対応をしたときの抜粋&若干の手直しバージョンです。
携帯か?の判断文はありませんが、判断を入れれば、携帯のときのみにテンプレートを入れ替えるということが可能になります。
単純な携帯判定であれば、

if (preg_match("#docomo|softbank|vodafone|kddi#i",$_SERVER["HTTP_USER_AGENT"])
{
   ここにテンプレート切り替えロジックを入れる
}

みたいな感じになるでしょうか?
PearのNet_UserAgent_Mobileを利用して、判定ロジックはそちらに委ねるのもよいかと思います。
0.9.6でもこの部分の内部ロジックに変更はなかったので、多分いけるはずですが、実際に利用していた時期は0.9.2.1の頃です。

  1. switch ($e->event)
  2. {
  3. case "OnLoadWebDocument":
  4.         if($modx->documentObject['template'])
  5.         {
  6.                 $sql = "SELECT templatename FROM ".$modx->getFullTableName("site_templates")." WHERE ".$modx->getFullTableName("site_templates").".id = '".$modx->documentObject['template']."';";
  7.                 $result = $modx->dbQuery($sql);
  8.                 $row = $modx->fetchRow($result);
  9.                 $templates = $row['templatename'];
  10.                 if (!strstr($templates,"M@"))
  11.                 {       
  12.                         $templates = "M@".$templates;
  13.                         $sql = "SELECT id FROM ".$this->getFullTableName("site_templates")." WHERE ".$this->getFullTableName("site_templates").".templatename = '".$templates."';";
  14.                         $result = $this->dbQuery($sql);
  15.                         $row = $this->fetchRow($result);
  16.                         $new_id = $row['id'];
  17.                         $sql = "SELECT * FROM ".$modx->getFullTableName("site_templates")." WHERE ".$modx->getFullTableName("site_templates").".id = '".$new_id."';";
  18.                         $result = $modx->dbQuery($sql);
  19.                         $rowCount = $modx->recordCount($result);
  20.                         iif($rowCount==1) {
  21.                                 $row = $modx->fetchRow($result);
  22.                                 $modx->documentContent = $row['content'];
  23.                         }
  24.                 }
  25.         }
  26.         break;
  27. }

上記の処理では、テンプレートID番号からテンプレート名を取得し、M@(キーワード)がないテンプレート名の場合は、そのテンプレート名の先頭にM@を付けたテンプレート名をデータベースから探し出し、その内容をDocumentContentに格納します。
ちなみに、$modx->documentObject['template']にテンプレートのID番号が入ってきます。
(_blankの指定の場合は、0/nullです)
該当テンプレートが見つからないか、複数見つかった場合(ありえないとは思うけど)は、テンプレートを変更せずにそのままオリジナルテンプレートで動作します。
ここら辺は、しっかりとルール通りに設置運用しておけば問題ないはずということで手を抜いています。

携帯3キャリアごとにテンプレートを分ける場合には、それぞれテンプレート名の区別する文字コードを付加して、対応テンプレートを求めればよいでしょう。(ココでは、ロジックを簡潔にする為に携帯かそうでないかしかやっていませんが)
同じように、MacかWinで別のものっていう場合も同様に可能かと思います。

もちろん、プラグインで変更ではなくてスニペットでという方法も考えられます。
実際試してはいませんが、テンプレートに判定スニペットを作ってそれを呼び出すだけ・・・・。
実際のテンプレートの内容の部分はチャンクをテンプレートとして使う一般的なやり方です。

[!UA?pc=aaaa&mobile=bbb!]

みたいな感じのスニペットで、UserAgentを判別して、PCなら変数pcのチャンクを返して、携帯なら変数mobileのチャンクを返すという方法です。

多分、いけるはずです。
この方がシンプルかも知れませんねぇ。

ところで、このテンプレートを動的に切り替えるプラグイン及びスニペットではドキュメントのキャッシュを有効にしてはいけません。
当然のことながら、UAごとに中身が変わっちゃうわけなので・・・・。

あとはページングですけど、これはPagenationプラグインも合体させればいけるんじゃないかなぁと思います。

絵文字とかについては・・・・いつか、トライしてみますが・・・コンバートするしかないなかぁ プラグインで。
アクセスキーについては、そのままPC用でも入れて置けばよいとは思いますが・・・。
ってなことで、不明な点、おかしいぞ というところがありましたらご連絡くださいまし。

投稿者 ZeRo in MODx at 17:49 | コメント (2) | トラックバック (0) このエントリーを含むはてなブックマーク
このエントリに定義されたタグ: MODx

2007年 5月 24(木曜日)

Tips 動的にチャンクの内容を書き換えるとか

使う人がいるかどうか・・・っていうぐらいにレアなTIPSかも・・・・。

どんな場面で使えるかは、皆さんの判断で・・・なんですけど、どんなときに使えるのかを架空のたとえ話で書いてみます。

個人でやってる美容店のHPで予約フォームがあると思ってください。
メニューもカットからパーマの種類とかいろいろありますよね?
もちろん、流行のなんとかとかメニューも季節や流行で増えたり減ったり・・もちろん、その説明ページもあるとします。
メニューごとに1ドキュメントが割り当てられている状態です。
もちろん、ビューは1ページごと見せる必要はないのでDittoを使って1ページにまとめちゃうという手を使うかも知れません。
が、ここで1つのメニュー=1つのドキュメントとして扱うのがミソです。
なぜなら、予約フォームにはお客さんにメニューも選択してもらうからなんです。

普通に考えれば、予約フォームのHTMLはテンプレート用チャンクにベタでメニュー項目を書くわけですが、メニューの増減の度にテンプレート用チャンクも書き換える必要があるのがわずらわしいわけです。

そこで、メニューに該当する部分を動的に作り上げたいなという欲求がでてきます。
先ほど、1つのメニュー=1つのドキュメントという形にすれば、アクティブな子ドキュメントの一覧を引っ張り出すのはMODxのAPIを使えばすぐです。
これで、引っ張ってきたpagetitleとかをSELECTのOPTIONパラメタとして動的に生成してしまえば、テンプレートの書き換えもせずに済むことになります。

このように、利用したいスニペットがチャンクでテンプレートなどを利用する場合で、かつ、このテンプレートを動的に書き換えたいっていう場合に使えるテクなわけです。

ということで、そのチャンクの書き換えは至ってシンプル。

  1. $modx->chunkCache['チャンク名'] =データ;

ほかにどんな利用法があるのか思い浮かばないのが悔しいですけど・・・・、そんなレアなTIPSでしたぁ

投稿者 ZeRo in MODx at 22:35 | コメント (0) | トラックバック (0) このエントリーを含むはてなブックマーク
このエントリに定義されたタグ: MODx
« 前のページ   (ページ 2/3, 合計 13 エントリ) » 次のページ

[PR]

カレンダー

戻る 11月 '08 転送
月 火 水 木 金 土 日
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリ

  • iPod (2)
  • MODx (29)
  • Nucleus (23)
  • OpenX (1)
  • PHP (22)
  • Ruby (1)
  • Serendipity (16)
  • WordPress (1)
  • ざれごと (93)
  • スクリプト&ソフト (6)
  • 健忘録 (4)
  • 本 (7)
すべてのカテゴリ

クイックサーチ

タグ

お風呂掃除 ちいたん アクセス解析 アフィリエイト カビ スニペット テンプレート バイオ バージョンアップ フレームワーク ミニブログ メールサーバ モップ リニューアル 加速成功 奇怪 小技 広告 本 玄箱 藤原伊織 道幸 武久 電話機 風呂掃除 ajax Cache checkpad CI CORE Server Courier-MTA dave.tv eForm extJS feedburner Firefly framework frog google GPARTED-LiveCD Insights Search iPhone iPod touch iTunesサーバ kohana Linkstation mce mixi ML300 MODx moony np_metaex np_newsfeedex NP_RelatedEX NP_Simplepie nucleus OpenX PHP phpmixi phpTrafficA piex qmail rhaco s9y Safe Mode SendPing Serendipity shorewall Simplepie SQLite toaster TrackBack Twitter Ubuntu USB-HDD vista wii Wii Fit Windows Live Writer wordpress xajax xfy Blog Editor XREA ZendFramework Zend_Cache

コメント

コメント: ZeRo
iPod Touch サーマルコントロールケース
2008/10/11 15:16
あら、えー と つけた ときは確か 保護シート は外しまし た。 確か 、少しの厚 みでもちゃ んと収まら なかった気 がします。 す [...]


コメント: Kaz
iPod Touch サーマルコントロールケース
2008/10/09 21:51
購入しまし た。今まで 使用してい た保護フィ ルムを貼っ たままでケ ースを装着 してしまい 、表示面に ニュートン リングが・ ・・ [...]


コメント: ZeRo
pieX Ver0.7リリース
2008/10/05 21:51
トラックバ ック先の情 報もチェッ クしてね・ ・・修正版 は後日アッ プします、 説明書もち ょっと改版 ですね(^ ^; shin tata [...]


コメント: shintata.com
pieX Ver0.7リリース
2008/10/05 21:25
全体のRSS を修正した ので、せっ かくだから 「最近の記 事」という のを表示さ せたい。 まとめたRS Sを取り込 んで表示さ せれば [...]


コメント: ZeRo
LinuxWorld Expo2008 にいってきたです
2008/06/02 22:30
さすがに、 全部動かし ているわけ じゃないで すよ。 実 際に触った ことがある ものもあり ますが、大 抵はデモサ イトとかを 見た [...]


リンク集

  • オープンソース
    • CMS/BLOG
      • MODxCMS
        • Let's enjoy MODx
        • MODxCMS
        • Phize on the Web
        • あ~ゆ~どりま~
        • ケイムズカンパニー
      • Nucleus CMS JAPAN
      • Serendipity
    • FRAMEWORK
      • CodeIgniter
        • CodeIgniter 本家
        • CodeIgniterユーザガイド日本語版
        • Rapyd Framework
      • Kohana
        • Kohana本家
      • ZendFramework
    • ライブラリ
      • SimplePie
    • Zen Cart日本公式サイト
  • サービス
    • Value-Domain
  • スクリプト
    • 206
    • ネットサーフレスキュー「Web裏技」
  • メールサーバ
    • Courier-mta日本
    • 日本Courierユーザ会
  • Nucleusなブログ
  • SHOP@PETITPOWER
  • ZeRo∞Log

インフォメーション

WORLDRANKING BELLSEARCH

 RSSリーダーで購読する

Twitter


Copyright 2005 - 2008 PETITPOWER  | Powered by Serendipity