HelperでViewオブジェクトを使う

Helper クラスを見てみると、下記のように View オブジェクトを使っているところがいくつもあります。

	function modelID() {
		$view =& ClassRegistry::getObject('view');
		return $view->modelId;
	}

自前の Helper でも同じようにすれば View を使うことが出来ます。
HelperでaddScriptを使うことも出来ます。

class MyHelper extends AppHelper {
	// Javascript Helper を使う為に必要
	var $helpers = array( 'Javascript' );
	function hoge() {
		// View オブジェクトを使う為に必要
		$view =& ClassRegistry::getObject('view');
		$code = <<< CODE
			// JavaScript
CODE;
		$view->addScript( $this->Javascript->codeBlock( $code ) );
	}
}

あとは View から Helper を呼び出すだけ。

<?php echo $my->hoge(); ?>

Leave a Reply