2012-03-02 17:08
浏览 49

Zend Framework - 在注册表中找不到名称的插件

When calling a function in my views/helpers/ file, from my script inside views/scripts/ , i get this error:

Message: Plugin by name 'SetBlnCompany' was not found in the registry; used paths: My_View_Helper_: /www/zendserver/htdocs/development/application/views/helpers/ Zend_View_Helper_: Zend/View/Helper/:/www/zendserver/htdocs/development/application/views/helpers/


protected function _initConfig()
    Zend_Registry::set('config', new Zend_Config($this->getOptions()));

protected function _initAutoload() {     
    $autoloader = new Zend_Application_Module_Autoloader(array(             
        'namespace' => 'My',             
        'basePath'  => dirname(__FILE__),     
    return $autoloader;


resources.view.helperPath.My_View_Helper = APPLICATION_PATH "/views/helpers" 


class Zend_View_Helper_Dropdownhelper extends Zend_View_Helper_Abstract
     public $blnCompany = false;

     public function getBlnCompany() {
         return $this->blnCompany;

     public function setBlnCompany($blnCompany) {
         $this->blnCompany = $blnCompany;

script causing error


EDIT to add more background information to my post.

Ideally i would use this "dropdown helper" class, to have a function for "get html" a function for "get javascript" , and many setter functions to set options before the getHtml and getJavascript are called.

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dougu4704 2012-03-02 17:12

    Your helper must have the same name than your method. Change Zend_View_Helper_Dropdownhelper into Zend_View_Helper_GetBlnCompany and it will work. Don't forget to change your filename too: GetBlnCompany.php

    In order to use a proxy method, you simply need to return $this;:

    // /application/views/helpers/helpers/GetBlnCompany.php
    class Zend_View_Helper_GetBlnCompany extends Zend_View_Helper_Abstract
        public function getBlnCompany() 
            return $this;
        public function fooBar($blnCompany)
            return ucfirst($blnCompany);

    Then, you need to call your view helper as follow:

    //return "Google"
    解决 无用
    打赏 举报

相关推荐 更多相似问题