コンポーネント (たとえば、Yahoo Finance のようなグラフ) がページにレンダリングされているとします。コンポーネント ビュー テンプレートには、グラフの期間を切り替えたい a_hrefs の束が含まれています。コンポーネントにイベントとイベントハンドラを作成しました。2 つの質問があります。
- これらのa_hrefsを介してグラフコンポーネントでイベントを発生させる方法(グラフの一部である必要がありますか?)?
- 現在のページ コンテキスト (セクション、フィルター - $_GET 値として指定) を失わずにグラフを再描画する方法は?
私のグラフコンポーネントは次のようになります。
Yii::import('zii.widgets.CPortlet');
class Graph extends CPortlet
{
private $_period;
/* **************************************** *
* COMPONENT PROPERTIES *
* **************************************** */
public function getPeriod()
{
return $this->_period;
}
public function setPeriod($period)
{
$this->_period = $period;
}
/* **************************************** *
* GENERIC *
* **************************************** */
public function init()
{
parent::init();
// assign event handlers
$this->onPeriodChange = array($this, 'handlePeriodChange');
}
protected function renderContent()
{
$this->render('graph');
}
/* **************************************** *
* EVENTS *
* **************************************** */
public function onPeriodChange($event)
{
$this->raiseEvent('onPeriodChange', $event);
}
/* **************************************** *
* EVENT HANDLERS *
* **************************************** */
public function handlePeriodChange($event)
{
// CODE
}
}