CodeIgniter 2 + xajax 0.5

投稿者: | 2012年8月28日

前にどっかの記事を参考にやったんだけど、その記事が消えてしまっていたので自分のためにmemo

CodeIgniterは展開済みとして、Xajaxをダウンロードして展開する。

xajax_core と言うディレクトリを、 xajax に変更し、 application/third_party へ配置
xajax_js と言うディレクトリは CodeIgniter の index.php と同じ場所に配置

xajax/xajax.inc.php を xajax/xajax.php に変更する。(コンストラクタ側のコードで対応)

CodeIgniterのコントローラ側では、コンストラクタに以下のコードを追加

<br />
include(APPPATH.'third_party/xajax/xajax.inc'.EXT);<br />
// Xajax設定<br />
$this-&gt;xajax = new xajax(base_url());<br />
$this-&gt;xajax-&gt;configure(&quot;javascript URI&quot;, base_url());<br />
//$this-&gt;xajax-&gt;configure(&quot;debug&quot;, true);<br />
$this-&gt;xajax-&gt;register(XAJAX_FUNCTION, array('_func', $this, '_xajax_func'));<br />
$this-&gt;xajax-&gt;processRequest();<br />

メソッドは以下の感じ。

<br />
function _xajax_func() {<br />
	$objResponse = new xajaxResponse();</p>
<p>	$objResponse-&gt;assign(&quot;foo&quot;, &quot;innerText&quot;, $this-&gt;foo);<br />
	$objResponse-&gt;call(&quot;hogehoge&quot;);<br />
	return $objResponse;<br />
}<br />

ビューは以下の感じ

<br />
&lt;body onload=&quot;xajax__func(); return true;&quot;&gt;<br />

ちなみに、xajax_js を違うところに配置する場合は、以下の2つのファイルの中のパスを書き換える必要があるっぽい。

  • xajax/xajax.php
  • xajax/plugin_layer/xajaxDefaultIncludePlugin.inc.php

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください