Zend:在哪里/如何注册自定义视图助手?

2023-11-24

In my layout.phtml我有的文件:

<?php echo $this->Test(); ?>

我在以下位置创建了一个测试视图助手application/views/helpers/Test.php

<?php 

class My_View_Helper_Test extends Zend_View_Helper_Abstract {

    public function Test() {
        return 'test';
    }

}

和我的配置文件@configs/application.ini:

resources.view[] = ''
resources.view.helperPath = APPLICATION_PATH "/views/helpers"

我得到的错误:

Zend_Loader_PluginLoader_Exception: 未找到名为“Test”的插件 登记处;使用的路径: Zend_View_Helper_: Zend/View/Helper/:./views/helpers/ 中 /usr/share/php/Zend/Loader/PluginLoader.php 406号线

同样,我也无法注册我的管理视图助手。

resources.view.helperPath.Admin_View_Helper = APPLICATION_PATH "/modules/admin/views/helpers"

My modules/admin/views/helpers/AdminPanel.php:

<?php

class My_View_Helper_AdminPanel extends Zend_View_Helper_Abstract {

public function AdminPanel() { return 'test'; }

}

我别无选择,只能在 Bootstrap 中使用 addHelperPath 执行此操作吗?如果是这样,有人可以演示我将如何使用我的路径吗?


Using application.ini可能是定义这些的最佳方式。我将所有视图助手放入我的库文件夹中:

includePaths.library = APPLICATION_PATH "/../library"
autoloadernamespaces.0 = "SNTrack_"

;  -- Note, these are the only resources.view lines I have...
resources.view.doctype = "XHTML1_STRICT"
resources.view.helperPath.SNTrack_View_Helper = APPLICATION_PATH "/../library/SNTrack/View/Helper"

目录结构:

/
  application/
  library/
    SNTrack/
      View/
        Helper/
          Test.php

View:

 $this->test('test')

SNTrack/View/Helper/Test.php:

 class SNTrack_View_Helper_Test extends Zend_View_Helper_Abstract {
   public function test($args) { return $args; }
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zend:在哪里/如何注册自定义视图助手? 的相关文章

随机推荐