Zend Framework не может найти вспомогательный файл просмотра.Ошибка 'Плагин по имени не найден' - PullRequest
2 голосов
/ 31 марта 2012

Я пытаюсь просто использовать пользовательский помощник вида, который находится в /library/my/view/helpers/friends.php

У меня есть это в application.ini:

resources.view.helperPath.My_View_Helper = "/my/view/helpers"

Это вспомогательный класс:

class My_View_Helper_Friends extends Zend_View_Helper_Abstract {
    public function friends() {
        $str = "hello world";
        return $str;
    }
}

Это в файле представления:

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

В этой строке я получаю сообщение о том, что не удается найти плагин в пути, которыйон уже есть.

Ошибка:

Плагин с именем «Друзья» не найден в реестре;используемые пути: My_View_Helper_: / My / View / Helpers / Zend_View_Helper_: Zend / View / Helper /; C: / http / xampplite / htdocs / zf-tutorial / application / views \ helpers /

Looksкак его использование правильного пути и файл там.Я не понимаю, почему он не может его найти?

1 Ответ

2 голосов
/ 31 марта 2012

Я считаю, что проблема в том, что используется неправильный путь.

... используемые пути: My_View_Helper_: / My / View / Helpers /

Примечаниекак путь /My/View/Helpers.Он использует абсолютный путь.Другая проблема заключается в том, что папка должна иметь имя Helper вместо helpers.

Затем измените строку конфигурации в вашем application.ini на следующее:

resources.view.helperPath.My_View_Helper = APPLICATION_PATH "/../library/my/view/helper"

и убедитесь, чтоваш класс называется My_View_Helper_Friends, а файл - Friends.php.Дело имеет значение.Каталог должен действительно называться My/View/Helper с заглавными буквами.

РЕДАКТИРОВАТЬ: Предполагая, что library в вашем include_path, вы также можете использовать строку:

resources.view.helperPath.My_View_Helper = "My/View/Helper"

Обратите внимание, что у него нет ведущего /.Это будет искать во всех местах в вашем include_path для папки My/View/Helper.

...