Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add a view helper directory (zend framework)

I begin with ZF (1.9.7), and I want to use View Helpers from a library shared between all my projects. But I can't find how to add it directory to the helpers path. My herpers works fines when I put them in application's helpers path.

Here is the error, where I find the path to ZF helpers, and path to the applications ones.

object(ArrayObject)#71 (3) {
  ["exception"]=>
  object(Zend_Loader_PluginLoader_Exception)#70 (6) {
    ["message:protected"]=>
    string(151) "Plugin by name 'Voo' was not found in the registry; used paths:
Zend_View_Helper_: Zend/View/Helper/;C:/ZendStd/www/applis/VOO4_PROJECTX/views\helpers/"
    ["string:private"]=>
    string(0) ""
    ["code:protected"]=>
    int(0)
    ["file:protected"]=>
    string(89) "C:\Program Files\Zend\ZendServer\share\ZendFramework\library\Zend\Loader\PluginLoader.php"
    ["line:protected"]=>
    int(401)

Best regards
Cédric

like image 308
Cédric Girard Avatar asked Feb 25 '10 16:02

Cédric Girard


2 Answers

It can be done very easily with the built in Zend_Application resource for the view. If you're using ini configs, add a line like this:

resources.view.helperPath.My_View_Helper = "My/View/Helper"

The end of the key is the class name prefix, and the value the path where they reside.

like image 143
David Snabel-Caunt Avatar answered Sep 23 '22 17:09

David Snabel-Caunt


Helper paths are added through Zend_View_Abstract::addHelperPath(). You can call this method directly on an existing View instance.

Helper paths can also be configured in various ways during bootstrap. Check out the ZF manual chapter on Zend_Application to see how to use Bootstrap classes and resources:

  • http://framework.zend.com/manual/1.12/en/zend.view.helpers.html
  • http://framework.zend.com/manual/1.12/en/zend.application.quick-start.html
  • http://framework.zend.com/manual/1.12/en/zend.application.examples.html
  • http://framework.zend.com/manual/1.12/en/zend.application.available-resources.html#zend.application.available-resources.view
like image 22
Gordon Avatar answered Sep 22 '22 17:09

Gordon