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