1 回答

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