1

我正在尝试为 TYPO3 Fluid 编写自己的 ViewHelper

我在这里有文件: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 <lorem@example.com>
 */
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”可能未加载或没有自动加载器”。

我想某处有拼写错误。但我找不到它。

命名空间与扩展的其他文件相同。

4

2 回答 2

4

更改您的 viewhelper 类以使用命名空间来扩展核心类:

class LoremIpsumViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
  ...
}
于 2016-02-17T12:21:09.357 回答
0

TYPO3 7.6 将自动加载缓存放入 'typo3temp/autoload/' - 因此在删除此文件夹后会识别新类。

顺便说一句:扩展typo3_console提供了一个CLI命令来做同样的事情:

./typo3cms extension:dumpautoload
于 2017-04-27T22:23:30.793 回答