TYPO3:通过cObject将变量传递给typoscript?

TYPO3:通过cObject将变量传递给typoscript?,typo3,typoscript,fluid,Typo3,Typoscript,Fluid,我想在我的菜单中创建一个下拉式登录表单,如本例所示: 我有一个cObject,它为导航调用typoscript: <f:cObject typoscriptObjectPath="menu.navbar" /> 我需要以某种方式将登录表单的内容输入到菜单输入脚本中。在我的例子中,是否可以通过cObject将一个变量(登录表单)传递给typoscript?f:cObject有一个数据属性,可以接受不同类型的值 通常,“数据”属性采用数组,然后您可以使用这些值使用typoscript中

我想在我的菜单中创建一个下拉式登录表单,如本例所示:

我有一个cObject,它为导航调用typoscript:

<f:cObject typoscriptObjectPath="menu.navbar" />
我需要以某种方式将登录表单的内容输入到菜单输入脚本中。在我的例子中,是否可以通过cObject将一个变量(登录表单)传递给typoscript?

f:cObject有一个数据属性,可以接受不同类型的值

通常,“数据”属性采用数组,然后您可以使用这些值使用typoscript中的.field属性呈现内容对象

例如:

lib.testFluid = COA
lib.testFluid {
    wrap = <div>|</div>
    10 = TEXT
    10.field = title
    10.wrap = <b>|</b>
    20 = TEXT
    20.field = content
}
但是,如果您只有一些内容,例如字符串内容,并且希望将其输出到内容对象中的某个位置,则可以按原样传入,并使用TypoScript中的.current属性使其使用当前值

lib.testFluid = COA
lib.testFluid {
    wrap = <div>|</div>
    10 = TEXT
    10.current = 1
    10.wrap = <b>|</b>
}
在流体中:

<f:cObject typoscriptObjectPath="lib.testFluid" data="{title: 'Hello World', content: 'Foobar'}" />
<f:cObject typoscriptObjectPath="lib.testFluid" data="simple text content" />

当然,数据也采用正态变量。根据您的用例,其中一个可能是您想要的

编辑:然而,如果你想把数据和一个纸笔一起使用,它似乎有点复杂。嵌套的TMENU实例或其他菜单具有不同的数据值,因为该菜单项的当前页面正在被HMENU覆盖。您可能需要进行一些复杂的包装,或者避免在TMENU/GMENU等等中插入所需的内容。在这种情况下,我建议使用流体完全渲染菜单

编辑2-示例

这样的事情是行不通的:

lib.testFluid = HMENU
lib.testFluid {
    special = directory
    special.value = 1
    wrap = <ul>|</ul>

    1 = TMENU
    1 {
        NO.stdWrap.cObject = COA
        NO.stdWrap.cObject {
            10 = TEXT
            10.field = title
            10.noTrimWrap = || |

            20 = TEXT
            20.current = 1
        }
    }
}
20.current=1将不包括fluid viewhelper提供的数据中的值,因为TMENU内容对象已将TMENU的数据更改为当前页面

但是,应该可以在纸机周围包裹COA或类似内容,以便在纸机周围插入所需内容。

f:cObject有一个数据属性,可以采用不同类型的值

通常,“数据”属性采用数组,然后您可以使用这些值使用typoscript中的.field属性呈现内容对象

例如:

lib.testFluid = COA
lib.testFluid {
    wrap = <div>|</div>
    10 = TEXT
    10.field = title
    10.wrap = <b>|</b>
    20 = TEXT
    20.field = content
}
但是,如果您只有一些内容,例如字符串内容,并且希望将其输出到内容对象中的某个位置,则可以按原样传入,并使用TypoScript中的.current属性使其使用当前值

lib.testFluid = COA
lib.testFluid {
    wrap = <div>|</div>
    10 = TEXT
    10.current = 1
    10.wrap = <b>|</b>
}
在流体中:

<f:cObject typoscriptObjectPath="lib.testFluid" data="{title: 'Hello World', content: 'Foobar'}" />
<f:cObject typoscriptObjectPath="lib.testFluid" data="simple text content" />

当然,数据也采用正态变量。根据您的用例,其中一个可能是您想要的

编辑:然而,如果你想把数据和一个纸笔一起使用,它似乎有点复杂。嵌套的TMENU实例或其他菜单具有不同的数据值,因为该菜单项的当前页面正在被HMENU覆盖。您可能需要进行一些复杂的包装,或者避免在TMENU/GMENU等等中插入所需的内容。在这种情况下,我建议使用流体完全渲染菜单

编辑2-示例

这样的事情是行不通的:

lib.testFluid = HMENU
lib.testFluid {
    special = directory
    special.value = 1
    wrap = <ul>|</ul>

    1 = TMENU
    1 {
        NO.stdWrap.cObject = COA
        NO.stdWrap.cObject {
            10 = TEXT
            10.field = title
            10.noTrimWrap = || |

            20 = TEXT
            20.current = 1
        }
    }
}
20.current=1将不包括fluid viewhelper提供的数据中的值,因为TMENU内容对象已将TMENU的数据更改为当前页面

但是,应该可以在纸页周围包裹COA或类似物,以便在纸页周围插入所需内容