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

現在の設定では、application.iniZend ( ) からのデフォルト ビュー ヘルパー用の別のパスを追加するだけです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"

これで、アプリケーションはクラス名をパスにマップする方法を認識しました。別の方法として、メインでこれを有効にすることができます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

構成ファイルに次の 2 行を追加します。2 行目はヘルパーへのカスタム パスです。

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

ヘルパーの作成中に、このようなクラス名を付けます

<?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

この助けを願っています。

よろしく、Ahmed B.

于 2012-07-05T15:48:59.160 に答える