Я пытаюсь написать свой собственный ViewHelper для жидкости TYPO3
У меня есть файл здесь: typo3conf / ext / ff_invest / Classes / ViewHelpers / LoremIpsumViewHelper.php
В этом файле у меня есть этот код:
<?php
namespace Originalen\FfInvest\ViewHelpers;
/**
* This class is a demo view helper for the Fluid templating engine.
*
* @package TYPO3
* @subpackage Fluid
* @version
*/
class LoremIpsumViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
/**
* Renders some classic dummy content: Lorem Ipsum...
*
* @param int $length The number of characters of the dummy content
* @validate $length IntegerValidator
* @return string dummy content, cropped after the given number of characters
* @author Lorem Ipsum <[email protected]>
*/
public function render($length) {
$dummyContent = 'Lorem ipsum dolor sit amet.';
return substr($dummyContent, 0, $length);
}
}
В моем файле шаблона List.html у меня есть
{namespace blog=Originalen\FfInvest\ViewHelpers}
в верхней части файла и
<blog:LoremIpsum length="5" />
в части f.section.
Но я получаю эту ошибку: «Не удалось проанализировать класс:« Originalen \ FfInvest \ ViewHelpers \ LoremIpsumViewHelper »может быть не загружен или отсутствует автозагрузчик».
Я предполагаю, что где-то есть ошибка Но я не могу найти это.
Пространство имен такое же, как и в других файлах расширения.
Измените ваш класс viewhelper, чтобы использовать пространства имен для расширения основных классов:
class LoremIpsumViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
...
}
TYPO3 7.6 помещает кэш автозагрузки в «typo3temp / autoload /» — поэтому после удаления этой папки новые классы распознаются.
Кстати: расширение typo3_console предоставляет команду CLI для того же:
./typo3cms extension:dumpautoload