XPressME Integration Kit

ブログ

XPressMEモジュール複製問題

XPressMEモジュールを複製対応とした場合の問題点としてブロックの問題が挙げられます。

ブロックはトップページ等、自モジュールページ以外のページにも配置できるので、WordPress側のテンプレートを使おうとすると、WordPressをロードした上で処理を行う必要があります。

直接SQLを書いても良いのですが、カレンダーとかパーマリンクなどにはかなり無理があります。

ここで、複製して作られたブログAとブログBがインストールされている条件で、ブログAの「最近のコメント」とブログBの「最近のコメント」をトップページに表示した場合の振る舞いを見てみると

まず、ブログAのブロックの処理を行うためにブログAのWordPressがロードされます、
次にブログBのブロックを行うためにブログBのWordPressがロードされますが、ブログAのロードでdefineされたABSPATHなどの環境変数は再定義することが出来ません。(defineの再定義は出来ない)

結果として、ブログBをロードしているつもりが、ブログAをロードしてロードしてしまうことになります。(配置された「最近のコメント」は双方ともブログ Aのものになる) この問題を回避するためにXPressME1.Xではsnoopyを利用して別プロセスとしてブロックのレンダリングを行う手法をとっていました。

XPressME2.Xでは ・・・・

タグ:

コメントをどうぞ