0

我想在我的视图/助手中创建不同的文件夹,并在其中添加我的视图助手类。但我无法访问这些课程。

做这个的最好方式是什么?

我尝试调整我的 application.ini 文件设置......但没有运气

这是我在我的ini文件中设置的:

resources.view.helperPath = APPLICATION_PATH "/views/helpers/models"
resources.view.helperPath = APPLICATION_PATH "/views/helpers/test"

models并且test是我文件夹中的子文件/views/helpers

任何人都可以提出更好的解决方案吗?

4

3 回答 3

1

使用您当前的设置,您只需为 Zend ( )application.ini中的默认视图助手添加另一个路径。Zend_View_Helper_

您必须指定要使用的类前缀:

; View_Helper_Models is the class prefix
resources.view.helperPath.View_Helper_Models = APPLICATION_PATH "/views/helpers/models"
; View_Helper_Test is the class prefix
resources.view.helperPath.View_Helper_Test = APPLICATION_PATH "/views/helpers/test"

现在应用程序知道如何将您的类名映射到路径。或者,您可以在 main 中启用此功能Bootstrap.php

protected function _initViewHelper()
{
   $this->bootstrap( 'view' );
   $this->_view = $this->getResource( 'view' );

   $this->_view->addHelperPath( APPLICATION_PATH . '/views/helpers/models',
                                'View_Helper_Models' );
   $this->_view->addHelperPath( APPLICATION_PATH . '/views/helpers/test',
                                'View_Helper_Test' );
}

注意:路径的大小写必须正确。

于 2012-07-05T22:11:19.463 回答
0

在您的配置文件中添加这两行第二行是您的帮助者的自定义路径

resources.view[] =    
resources.view.helperPath.Zend_View_Helper = APPLICATION_PATH "/../library/FolderA/FolderB/helpers"

在创建 Helper 时,像这样给出类名

<?php
class Zend_View_Helper_Foo extends Zend_View_Helper_Abstract
{
   public function foo(){
       echo 'hello world';
   }
}

并在您的任何视图文件中调用该助手作为$this->foo();

于 2012-07-06T03:18:07.017 回答
-1

我认为您只需要输入正确的视图助手类名称即可!例如,您在 APPLICATION_PATH "/views/helpers/models" 中创建一个文件 "Mine.php",然后将类命名为class View_Helper_Models_Mine

希望这有帮助。

问候,艾哈迈德 B.

于 2012-07-05T15:48:59.160 回答