Progression + WordPress の連携(Progression編)
2010年9月18日 06:17
前回のエントリーの続きです。
ここでは、Progression(Flash) 側の処理について書きます。
Flash 側での処理はそんなに難しくなく、
通常の XML 処理プラスアルファといった感じです。
ポイントは以下の2点です。
- 構築用 XML(PRML 形式)の読み込みによるシーン生成
- 各シーンでの XML 読み込み
まず、Index.as 内で WordPress 側で生成した
シーン構築用 XML(PRML 形式) を読み込み、シーンを生成します。
Index.as のコンストラクタ内では、XML で関連付けている
シーン用のクラスを宣言しておきます。
public function Index() { super( null, null, new WebConfig() ); // XML で関連づけているシーン用のクラスを宣言しておく IndexScene; EntryScene; CategoryScene; }
構築用 XML の読み込みは Index.as の atReady 内で行います。
読み込むだけで、シーンが自動的に生成されます。
override protected function atReady():void { _pl = new PRMLLoader(this); _pl.addEventListener(Event.COMPLETE, onPRMLComplete); _pl.load(new URLRequest("http://www.littlepad.net/demo/progwp/?page_id=11")); }
シーン構築用 XML でシーンデータと一緒に読み込んだ
各ページ個別データを記述した XML ファイルのパスを読み込み処理します。
シングルページの処理が一番簡単なので、サンプルにあげておきます。
override protected function atSceneInit():void { var xmlPath:String = String(this.dataHolder.data); addCommand( new LoadURL( new URLRequest(xmlPath) ), new Func( function():void { var xml:XML = new XML(this.latestData); _page = new EntryPage( { title: xml.elements("title"), entry: xml.elements("etnry") } ); insertCommand( new AddChild( container, _page ) ); }) ); }
シーンに渡されたデータ(XML パス)は dataHolder.data に格納されているので、
それを元にデータを抽出しています。
ここでは、シングルページの記事タイトルと記事データを initObject として
EntryPage クラスに渡し、実際のレイアウト処理は EntryPage 内で行っています。
他のページも基本的にはこの流れで処理を行っています。
カテゴリー: cms programming
Leave a comment
コメントはまだありません
No comments yet.