TYPO3: Напишите ViewHelper в расширении с пространством имен поставщика.

Я создал расширение с плагинами в пространстве имен поставщика. Пока все работает нормально. Все классы начинаются с объявления пространства имен namespace \VENDOR\ExtensionName\..., и typo3 отлично их автоматически загружает.

Однако проблема начинается, когда я добавляю ViewHelper. Я поместил это в пространство имен \VENDOR\ExtensionName\ViewHelpers. Я добавил пространство имен в свой шаблон Fluid следующим образом: {namespace ns=VENDOR\ExtensionName\ViewHelpers}. Когда я вызываю его в шаблоне с помощью <ns:myViewHelper />, я просто получаю сообщение об ошибке "Oops...":

Could not analyse class:VENDOR\ExtensionName\ViewHelpers\MyViewHelperViewHelper maybe not loaded or no autoloader?

То же самое происходит, когда я помещаю ViewHelper в пространство имен \TYPO3\....

Как правильно реализовать ViewHelper в расширении с пространством имен поставщика?


person Christoph Fischer    schedule 29.03.2014    source источник


Ответы (1)


В объявлении пространства имен не должно быть обратной косой черты.

Вместо \Vendor\ExtensionName\ViewHelpers; должно быть Vendor\ExtensionName\ViewHelpers;

http://www.php.net/manual/en/language.namespaces.nested.php

person common sense    schedule 29.03.2014
comment
Если это помогло вам, пожалуйста, отметьте это как решенное. В противном случае дайте мне знать, что не сработало, или если вы нашли другое решение. - person common sense; 22.04.2014