2016-07-19 3 views
1

adminキャリアを追加するときにフック名を呼び出すときにコードを実行したいですか?管理者に電話をかける方法前払いでアフターフックを追加する

私はhookActionObjectCarrierAddAfterを見つけましたが、パラメータまたはキャリアの最後の挿入を取得できません。あなたが使用する必要があり、あなたのモジュール内部

+0

あなたは以下のソリューションを試してみましたか? –

答えて

3

class MyModule extends Module 
{ 
    public function install() 
    { 
     if (! parent::install() || ! $this->registerHook('actionObjectCarrierAddAfter')) 
     { 
      return false; 
     } 
    } 

    public function hookActionObjectCarrierAddAfter($params) 
    { 
     $carrier = $params['object']; 

     [...] 
    } 

} 

このフックは、メソッドクラスObjectModeladdから呼び出されます。

public function add($auto_date = true, $null_values = false) 
{ 
    if (isset($this->id) && !$this->force_id) { 
     unset($this->id); 
    } 

    // @hook actionObject*AddBefore 
    Hook::exec('actionObjectAddBefore', array('object' => $this)); 
    Hook::exec('actionObject'.get_class($this).'AddBefore', array('object' => $this)); 

    // [...] 
    // [...] 
    // [...] 

    // @hook actionObject*AddAfter 
    Hook::exec('actionObjectAddAfter', array('object' => $this)); 
    Hook::exec('actionObject'.get_class($this).'AddAfter', array('object' => $this)); 

    return $result; 
} 
関連する問題