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 關注
- 142 瀏覽
添加回答
舉報
