从内联 <flux:form options={...}> 迁移到 <flux:form.option.* /> 时出现通量错误
Flux error when migrating from inline <flux:form options={...}> to <flux:form.option.* />
问题
我收到以下错误,我不知道为什么或如何修复它
Call to undefined method FluidTYPO3\Flux\Form\Container\Sheet::setOption()
我试图在禁用 fluidpages
并升级 flux
9.4 后让一切正常运行。我想我已经正确完成了数据库更新。我正在使用:typo3
8.7,flux
9.4,没有 fluidcontent
,没有 fluidpages
,vhs
。
注意:这也在 TYPO3 的 Flux
Slack 频道中交叉发布,如果需要,可以更轻松地进行更长时间的实时对话。
我的代码
这是我之前在 fluidbootstraptheme/Resources/Private/Templates/Content/Carousel.html
<f:section name="Configuration">
<flux:form id="carousel" options="{group: 'Bootstrap', sorting: 200, icon: 'EXT:fluidbootstraptheme/Resources/Public/Icons/Content/Carousel.png'}">
这是我现在在 fluidbootstraptheme/Resources/Private/Templates/Content/Carousel.html
中的内容
<f:section name="Configuration">
<flux:form id="carousel">
<flux:form.option.group value="Bootstrap" />
<flux:form.option.sorting value="200" />
<flux:form.option.icon value="EXT:fluidbootstraptheme/Resources/Public/Icons/Content/Carousel.png" />
其他参考资料
这里有一些可能有用的东西,我可能误解了,因此我的网站还没有工作
感谢@Claus Due,他指出在我的一个文件中,我不小心将 flux:form.option
放在 flux:form.sheet
中,而不是直接放在 flux:form
中。他以后也好意思added code to check for this specific error in Flux
错误的方式
<f:section name="Configuration">
<flux:form id="progressBar">
<flux:form.sheet name="progressBar">
<flux:form.option.group value="Bootstrap" />
<flux:form.option.sorting value="650" />
<flux:form.option.icon value="EXT:yourextension/Resources/Public/Icons/Content/ProgressBar.png" />
<flux:field.checkbox name="settings.progressBarAnimated" default="0" />
<flux:field.checkbox name="settings.progressBarStriped" default="0" />
<flux:field.select name="settings.progressBarColor"
正确的方法
<f:section name="Configuration">
<flux:form id="progressBar">
<flux:form.option.group value="Bootstrap" />
<flux:form.option.sorting value="650" />
<flux:form.option.icon value="EXT:yourextension/Resources/Public/Icons/Content/ProgressBar.png" />
<flux:form.sheet name="progressBar">
<flux:field.checkbox name="settings.progressBarAnimated" default="0" />
<flux:field.checkbox name="settings.progressBarStriped" default="0" />
<flux:field.select name="settings.progressBarColor"
改进上述代码的方法
@Claus Due 还指出,如果您使用特殊约定,通常不需要使用 flux:form.option.icon
。
copy whichever icon files you associate with content/page templates, to Resources/Public/Icons/Content or Resources/Public/Icons/Page and name them like the page/content template is named. Then remove the “icon” option from forms
所以对于文件 typo3conf/ext/yourextension/Resources/Private/Templates/Content/ProgressBar.html
中的这个片段,我省略了图标行...
<f:section name="Configuration">
<flux:form id="progressBar">
<flux:form.option.group value="Bootstrap" />
<flux:form.option.sorting value="650" />
<flux:form.sheet name="progressBar">
<flux:field.checkbox name="settings.progressBarAnimated" default="0" />
<flux:field.checkbox name="settings.progressBarStriped" default="0" />
<flux:field.select name="settings.progressBarColor"
...并确保添加一个位于特定位置并命名为 typo3conf/ext/yourextension/Resources/Public/Icons/Content/ProgressBar.png
的图标
注意:我在上面的代码中将 fluidbootstraptheme
抽象为 yourextension
使在您的特定情况下被替换的内容更加明显。
问题
我收到以下错误,我不知道为什么或如何修复它
Call to undefined method FluidTYPO3\Flux\Form\Container\Sheet::setOption()
我试图在禁用 fluidpages
并升级 flux
9.4 后让一切正常运行。我想我已经正确完成了数据库更新。我正在使用:typo3
8.7,flux
9.4,没有 fluidcontent
,没有 fluidpages
,vhs
。
注意:这也在 TYPO3 的 Flux
Slack 频道中交叉发布,如果需要,可以更轻松地进行更长时间的实时对话。
我的代码
这是我之前在 fluidbootstraptheme/Resources/Private/Templates/Content/Carousel.html
<f:section name="Configuration">
<flux:form id="carousel" options="{group: 'Bootstrap', sorting: 200, icon: 'EXT:fluidbootstraptheme/Resources/Public/Icons/Content/Carousel.png'}">
这是我现在在 fluidbootstraptheme/Resources/Private/Templates/Content/Carousel.html
<f:section name="Configuration">
<flux:form id="carousel">
<flux:form.option.group value="Bootstrap" />
<flux:form.option.sorting value="200" />
<flux:form.option.icon value="EXT:fluidbootstraptheme/Resources/Public/Icons/Content/Carousel.png" />
其他参考资料
这里有一些可能有用的东西,我可能误解了,因此我的网站还没有工作
感谢@Claus Due,他指出在我的一个文件中,我不小心将 flux:form.option
放在 flux:form.sheet
中,而不是直接放在 flux:form
中。他以后也好意思added code to check for this specific error in Flux
错误的方式
<f:section name="Configuration">
<flux:form id="progressBar">
<flux:form.sheet name="progressBar">
<flux:form.option.group value="Bootstrap" />
<flux:form.option.sorting value="650" />
<flux:form.option.icon value="EXT:yourextension/Resources/Public/Icons/Content/ProgressBar.png" />
<flux:field.checkbox name="settings.progressBarAnimated" default="0" />
<flux:field.checkbox name="settings.progressBarStriped" default="0" />
<flux:field.select name="settings.progressBarColor"
正确的方法
<f:section name="Configuration">
<flux:form id="progressBar">
<flux:form.option.group value="Bootstrap" />
<flux:form.option.sorting value="650" />
<flux:form.option.icon value="EXT:yourextension/Resources/Public/Icons/Content/ProgressBar.png" />
<flux:form.sheet name="progressBar">
<flux:field.checkbox name="settings.progressBarAnimated" default="0" />
<flux:field.checkbox name="settings.progressBarStriped" default="0" />
<flux:field.select name="settings.progressBarColor"
改进上述代码的方法
@Claus Due 还指出,如果您使用特殊约定,通常不需要使用 flux:form.option.icon
。
copy whichever icon files you associate with content/page templates, to Resources/Public/Icons/Content or Resources/Public/Icons/Page and name them like the page/content template is named. Then remove the “icon” option from forms
所以对于文件 typo3conf/ext/yourextension/Resources/Private/Templates/Content/ProgressBar.html
中的这个片段,我省略了图标行...
<f:section name="Configuration">
<flux:form id="progressBar">
<flux:form.option.group value="Bootstrap" />
<flux:form.option.sorting value="650" />
<flux:form.sheet name="progressBar">
<flux:field.checkbox name="settings.progressBarAnimated" default="0" />
<flux:field.checkbox name="settings.progressBarStriped" default="0" />
<flux:field.select name="settings.progressBarColor"
...并确保添加一个位于特定位置并命名为 typo3conf/ext/yourextension/Resources/Public/Icons/Content/ProgressBar.png
注意:我在上面的代码中将 fluidbootstraptheme
抽象为 yourextension
使在您的特定情况下被替换的内容更加明显。