今回、非同期でPagerを使いたいと思っていたところ、PEARのPagerの中にonclickというオプションがあることが分かったので、使ってみました。
最新のPagerのパッケージを取得
自分が以前使っていたPagerのパッケージには、まだonclickのオプションは追加されていなかったので、こちらより取得。
PagerのCommon.phpを直す
自分の使い方が悪いの?か、onclickをオプションに追加しても、hrefが働いてしまっていたので、がパッケージ内のCommon.phpの840行目あたりを以下のように直した。
if ( $onclick == "" ) { $url = $this->_url . $href; } else { $url = "javascript:void(0)"; } return sprintf('<a href="%s"%s%s%s%s title="%s">%s</a>', htmlentities($url, ENT_COMPAT, 'UTF-8'), empty($this->_classString) ? '' : ' '.$this->_classString, empty($this->_attributes) ? '' : ' '.$this->_attributes, empty($this->_accesskey) ? '' : ' accesskey="'.$this->_linkData[$this->_urlVar].'"', empty($onclick) ? '' : ' onclick="'.$onclick.'"', $altText, $linkText );
Pager使用時にオプション追加
・’httpMethod’ => ‘GET’
・’onclick’ => ‘Javascriptの何か’
こんな感じで、一応非同期でのページ送りは出来るようになったけど、どうもPagerを手直ししたあたりが納得いきません。
ちゃんとした使い方が分かる方がいたら、教えて頂けるとありがたいです。
コメントを残す
コメントを投稿するにはログインしてください。