Typo3 - собственный viewhelper избегает HTML в T3 V8 - PullRequest
0 голосов
/ 18 мая 2018

У меня есть viewhelper, который хорошо работал в Typo3 V7.x, но в V8.x его вывод больше не является простым html, но он закодирован в html.

Упрощенный класс viewhelper:

namespace MyName\Teaserbox\ViewHelpers;
class TeaserboxViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
    public function render ( $html = null ) {
        return "<div><h2>$html</h2></div>"
    }
}

Упрощенный HTML:

<m:teaserbox><f:cObject typoscriptObjectPath="lib.someHTML"></f:cObject></m:teaserbox>

Вывод выглядит примерно так:

&lt;div&gt;&lt;h2&gt;TEST&lt;/h2&gt;&lt;/div&gt;

1 Ответ

0 голосов
/ 18 мая 2018

Экранирование можно отключить, добавив protected $escapeOutput = false; в свой ViewHelper.

namespace MyName\Teaserbox\ViewHelpers;
class TeaserboxViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
    protected $escapeOutput = false;

    public function render ( $html = null ) {
        return "<div><h2>$html</h2></div>"
    }
}

При этом вы должны знать, что вам нужно самостоятельно санировать ввод данных, чтобы предотвратить XSS.

...