Vue.js Ajax请求上的Extbase UriBuilder和RealUrl
我正在开发一个TYPO3插件,它在VueJS中输出一个记录列表。 因此,我创建了一个控制器操作,它将请求的记录作为json返回 每个记录都有一个属性“uri”,它将uri保存到其详细信息页面。我使用Extbase uriBuilder生成此uri 第一条记录直接加载到我的列表操作中,我将这组记录直接分配给前端的VueJs应用程序(v-bind:items=“my_json_objects”) 下一组记录将通过调用my API(返回相同类型的记录)按需加载 问题:当对象直接分配给VueJS时,uriBuilder生成的uri仅在第一种情况下返回重写的url。对于ajax调用加载的所有项目,uribuilder返回未重写的url 两个操作都调用相同的方法来构建uri:Vue.js Ajax请求上的Extbase UriBuilder和RealUrl,vue.js,typo3,extbase,typo3-8.x,Vue.js,Typo3,Extbase,Typo3 8.x,我正在开发一个TYPO3插件,它在VueJS中输出一个记录列表。 因此,我创建了一个控制器操作,它将请求的记录作为json返回 每个记录都有一个属性“uri”,它将uri保存到其详细信息页面。我使用Extbase uriBuilder生成此uri 第一条记录直接加载到我的列表操作中,我将这组记录直接分配给前端的VueJs应用程序(v-bind:items=“my_json_objects”) 下一组记录将通过调用my API(返回相同类型的记录)按需加载 问题:当对象直接分配给VueJS时,ur
$item['uri'] = $this->buildShowUri($item);
return $this->uriBuilder
->reset()
->setTargetPageUid(56) // currently static, for testing
->setCreateAbsoluteUri(true)
->uriFor(
'show',
[
'item' => $item,
]
);
构建uri的方法:
$item['uri'] = $this->buildShowUri($item);
return $this->uriBuilder
->reset()
->setTargetPageUid(56) // currently static, for testing
->setCreateAbsoluteUri(true)
->uriFor(
'show',
[
'item' => $item,
]
);
有没有一种方法可以通过这种方式触发url重写?我是否需要将uri注册到realurl的某个位置
非常感谢任何提示。多么愚蠢。uribuilder可以工作,但我忘了在页面类型中启用realurl,该页面类型提供json输出
json = PAGE
json {
config {
linkVars = L(0-4)
**tx_realurl_enable = 1**
sys_language_mode = strict
disableAllHeaderCode = 1
debug = 0
no_cache = 1
additionalHeaders {
10 {
header = Content-Type: application/json
replace = 1
}
}
}
typeNum = 129912
10 = USER
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = MyExt
pluginName = Plug
vendorName = Myself
controller = Events
action = apiList
switchableControllerActions {
Event {
1 = apiList
}
}
}
}可能您需要在uriFor方法中添加更多的信息(控制器、扩展、插件等),而不仅仅是操作名称。