0

私は現在、ビュースクリプトをレンダリングすることになっているZend 2のライブラリで働いています。レンダリングは正常に機能しており、ビュー スクリプト内で他のヘルパーも使用できますが、basePath() ヘルパーは次のメッセージで例外をスローしています。

No base path provided

構成でbasePathを設定しようとしましたが、コントローラーによってレンダリングされたビュースクリプトでのみ変更されます。関連する場合、ビューをレンダリングしているコードは次のとおりです。

// file: /vendor/mate/library/mate/Group/Functions/GetHtml.php
// $templateDir is either directing to /module/Application/view/group/<name>.phtml
// or to /vendor/mate/library/mate/view/group/<name>.phtml

    $map = new Resolver\TemplateMapResolver(array(
        'group/'.$type => $templateDir,
    ));
    $stack = new Resolver\TemplatePathStack(array(
        'script_paths' => array(
            $viewDir,
        )
    ));

    $resolver->attach($map)    // this will be consulted first
             ->attach($stack);

    $groupModel = new ViewModel(array(
        'elements' => $this->getGroup()->toArray(),
        'groupElement' => $groupElement,
    ));
    $groupModel->setTemplate('group/'.$type);
    $groupHtml = $renderer->render($groupModel);

ビュースクリプトで basePath を機能させる方法を知っている人はいますか?

4

2 に答える 2

1

ヘルパーのベース パスは明示的に設定する必要があります。レンダラーからプラグインを取得し、レンダリングの前にまずベース パスを設定します。

// create your view model

$renderer->plugin('basePath')->setBasePath('/foo');

// render view model now
于 2013-09-08T19:27:29.273 に答える