CakePHP: View Helper Callbacks. CakePHP provides view helper callbacks to perform some complex logic.

DWQA QuestionsCategory: PHPCakePHP: View Helper Callbacks. CakePHP provides view helper callbacks to perform some complex logic.
Naresh Staplelogic Staff asked 10 years ago

Source : http://programming-tips.in/cakephp-view-helper-callbacks/
CakePHP: View Helper Callbacks
CakePHP provides view helper callbacks to perform some complex logic.
 
beforeRenderFile($viewFile)
Is called before each view file(elements, views, parent views and layouts) is rendered.
afterRenderFile($viewFile, $content)
Is called after each view file(elements, views, parent views and layouts) is rendered.
beforeRender($viewFile)
The beforeRender method is called after the controller’s beforeRender method but before the controller renders view and layout.
afterRender($viewFile)
Is called after the view has been rendered but before layout rendering has started.
beforeLayout($layoutFile)
Is called before layout rendering starts.
afterLayout($layoutFile)
Is called after layout rendering is complete.
Example:


// CustomHelper

class CustomHelper extends AppHelper {
    
    public function beforeRenderFile(){
        parent::beforeRenderFile();
    }
    
    public function afterRenderFile(){
        parent::afterRenderFile();
    }
    
    public function beforeRender(){
        parent::beforeRender();
    }
    
    public function afterRender(){
        parent::afterRender();
    }
    
    public function beforeLayout(){
        parent::beforeLayout();
    }
    
    public function afterLayout(){
        parent::afterLayout();
    }
    
    public function hello($name) {
    return 'Hello: '. $name;
    }
}

App::uses('Helper', 'View');

class AppHelper extends Helper {
    
    public function beforeRenderFile(){
        parent::beforeRenderFile();
    }
    
    public function afterRenderFile(){
        parent::afterRenderFile();
    }
    
    public function beforeRender(){
        parent::beforeRender();
    }
    
    public function afterRender(){
        parent::afterRender();
    }
    
    public function beforeLayout(){
        parent::beforeLayout();
    }
    
    public function afterLayout(){
        parent::afterLayout();
    }
}

Now, use your helper callback as per you requirement.