- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有几个编写自定义 ViewHelper 的示例以及不同的做事方式。我见过使用 render() 和使用 renderStatic 的示例(例如在 Developing a Custom ViewHelper 中)。
在 24 Fluid Tips有一个解释,但我不明白,它并没有让我清楚为什么有 2 个函数以及应该在哪里使用什么。
断断续续的变化(Render method arguments on ViewHelpers deprecated)和各个地方的碎片化信息,在这里很难得到明确的答案。是在Developing a Custom ViewHelper中的例子最新和最佳实践?
最佳答案
▸ renderStatic()
首先,renderStatic()
是 静态 PHP 方法。这意味着,您无权访问实例属性,例如 $this->tag
,例如,当您的 ViewHelper 类是 AbstractTagBasedViewHelper
的子类时,这是必需的.renderStatic()
的另一个缺点是你不能访问子节点。例如,一个子节点是 <f:then>
在以下示例中:
<f:if condition="{variable}">
<f:then>
...
</f:then>
</f:if>
renderStatic()
具有最佳性能,因为它是从已编译的 Fluid 中调用的。因此,应尽可能使用此方法。
render()
中实现的逻辑方法未编译,这对缓存的输出有影响。
render()
的缺点是它的性能。
renderStatic()
,如果可以的话(性能)。 render()
, 如果你实现了一个 TagBased-ViewHelper (子类TYPO3Fluid\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper
)。 render()
, 如果您需要读取子节点。 typo3/sysext/fluid/Classes/ViewHelpers/*
)[GitHub ] 关于typo3 - render()和renderStatic()有什么区别,TYPO3写ViewHelper应该用什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54531152/
我摆弄它超过 8 小时没有得到解决。 我想要的只是在 Fluid 模板中调用 ViewHelper。我以前这样做过,我从来没有遇到过类似的问题。 我的 ViewHelper 文件位于 EXTDIR/V
我在供应商命名空间中创建了一个带有插件的扩展。到目前为止一切正常。所有的类都以命名空间声明 namespace \VENDOR\ExtensionName\... 开头并且typo3 自动加载它们就好
我有一个处理一些图像的 ViewHelper。我有一个原始文件的图像路径。我需要调整此图像的大小。 有没有我可以在 TYPO3 中使用的 PHP 代码来执行此操作? 我试过了: $imgPath =
我正在尝试按照 Misko Heverys insights 设计一个应用程序.这是一个有趣的实验,也是一个挑战。目前我正在为我的 ViewHelper 实现而苦苦挣扎。 ViewHelper 将模型
我正在尝试在 zf2 中创建一个简单的服务,我可以在 viewhelper 中使用它来访问 第一步。我在 src/Application/Service/Service1.php 中创建了一个类,如下
我尝试在 TYPO3 扩展中创建多个 ViewHelper。 但是现在我尝试将 ViewHelper 放在子目录中,例如 扩展\类\ View 助手\自定义。 ViewHelper 的新
更新TYPO3后,我得到一个TYPO3Fluid\Fluid\Core\ViewHelper\Exception “传递给 ViewHelper 的未声明参数......有效参数是。” 最佳答案 提示
我想根据一些数据动态加载一个插件。首先,我尝试使用 Typoscript 来实现,但经过一些研究后我发现,无法更改插件的设置 ( see old forum entry)。 我需要根据传递的数据更改s
问题:我写了一个条件 VH(扩展 AbstractConditionViewHelper)并且它像往常一样工作,无论如何我在 中意识到了这一点。非缓存 版本它只评估一次。最初我认为这是我的错误,但检查
如何在 Symfony 2 中创建 ViewHelper。我阅读了整个文档,但它没有描述任何类似的术语。它只有自动加载和服务。 http://symfony.com/doc/current/cookb
我想从 Fluid 模板中进行 Ajax 调用,并且我想使用 Fluid URI action ViewHelper 。问题是,参数之一动态地来自 Javascript 变量。如何实现 ViewHel
我有一个在 Typo3 V7.x 中运行良好的 viewhelper,但在 V8.x 中它的输出不再是纯 html,而是 html 编码的。 简化的 viewhelper 类: namespace M
我有一个在 Typo3 V7.x 中运行良好的 viewhelper,但在 V8.x 中它的输出不再是纯 html,而是 html 编码的。 简化的 viewhelper 类: namespace M
这是我本周(和整体)的第三个问题 - 希望我不会在这里被禁止:D 无论如何,四处搜索并找不到解决我问题的确切解释。 答:我四处搜索并找到了一个自定义 ViewHelper 来呈现我的表单。它所做的是递
我正在使用 daimajia/AndroidImageSlider .我导入了所有依赖项,如 NineOldAndroid、Picasso 和这个“com.daimajia.slider:librar
在 TYPO3 8 LTS 中,我尝试从新闻列表构建一个 json 输出。以与流体手册中完全相同的方式使用 viewhelper f:format.json 时: {f:format.json(val
有许多 View 助手可以在 Fluid 中使用。 f:link和 f:uri似乎做基本上相同的事情。 例如: f:link.external :“用于创建外部目标链接的 ViewHelper。” f
有许多 View 助手可以在 Fluid 中使用。 f:link和 f:uri似乎做基本上相同的事情。 例如: f:link.external :“用于创建外部目标链接的 ViewHelper。” f
我为一个特殊的、复杂的目的创建了一个新的表单元素类(文本输入字段带有一个附加按钮以打开“搜索向导”弹出窗口)。 为了正确呈现这个元素,我还创建了一个表单 View 助手。到目前为止一切正常。 但是,如
我是新来的,zend 装饰问题,但我有两个重要的问题,我无法理解。问题一后面是一些例子 $decorate = array( array('ViewHelper'), array('D
我是一名优秀的程序员,十分优秀!