我想使用来自Controller的动作作为带有pageType的Ajax请求,但我还希望在页面上使用与内容元素相同的操作。为什么我应该创建两个动作?
但现在我不知道如何使用<f:link.action>
与实际的pageType?我可以手动设置Option pageType <f:link.action pageType="12345">
。但这应该自动地做
<f:link.action pageType="{pageType}">
你知道吗,我怎么能这样做?
谢谢
这个问题没有解决办法。
修辞问题:自动基于......什么?
TYPO3中的标准页面数量为0,默认情况下也会在所有链接ViewHelper中使用,如果您想要使用其他东西,您需要在视图中精确地编写它(pageType="12345"
),或者在实例中将它配置在setup.txt文件中在你的扩展中:
plugin.tx_yourextension.settings.ajaxPageType = 12345
所以你可以在你的视图中使用它,如:
<f:link.action pageType="{settings.ajaxPageType}">
这种方法的缺点是你需要在设置和插件的引导程序中重复这个页面Num,无论如何,那么最好每次检查哪个数字正是这个。
提示:不要忘记刷新系统缓存以考虑setup.txt更改。
附:
当然我假设你正在引导你的ajax动作,例如:
yourAjaxAction = PAGE
yourAjaxAction {
typeNum = 12345
10 = USER
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = YourExtension
pluginName = YourFePluginRegisteredProperly
vendorName = VENDOR_NAME
}
config {
disableAllHeaderCode = 1
xhtml_cleaning = 0
admPanel = 0
debug = 0
no_cache = 1
}
}
如果你这样做 - 你不需要使用f:link.action
VH,如果你不...你应该开始:)