1 回答
TA贡献1860条经验 获得超8个赞
首先:如果你想让你的 ViewHelper 成为一个条件 ViewHelper 你应该子类化TYPO3Fluid\Fluid\Core\ViewHelper\AbstractConditionViewHelper,而不是TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper。前者包含辅助方法的集合,例如renderThenChild(呈现节点f:then或返回then参数,以存在者为准)。
第二:访问标签(与呈现标签或编译执行的闭包相反)只能在模板尚未编译时发生,并且可以通过覆盖public static function postParseEventwhich receives whichViewHelperNode允许您读取子节点来实现通过.withgetChildNodes和/或添加额外的子节点addChildNode。
基于TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper和使用手动注册then和else参数的实现也可以工作,但不支持子节点,例如f:then不复制几乎所有来自TYPO3Fluid\Fluid\Core\ViewHelper\AbstractConditionViewHelper.
所以答案是:是的,你可以不用AbstractConditionViewHelper- 但你不应该这样做。
- 1 回答
- 0 关注
- 177 浏览
添加回答
举报
