【发布时间】:2018-10-19 16:20:45
【问题描述】:
我正在开发一个 TYPO3 插件,它在 VueJS 中输出记录列表。 因此,我创建了一个控制器操作,它将请求的记录作为 json 返回。
每条记录都有一个属性“uri”,它将 uri 保存到其详细信息页面。我使用 Extbase uriBuilder 生成这个 uri。
第一条记录直接在我的列表操作中加载,我直接在前端将这组记录分配给 VueJs 应用程序 (v-bind:items="my_json_objects")。
下一组记录将通过调用返回相同类型记录的我的 API 按需加载。
问题:uriBuilder 构建的 uri 仅在第一种情况下返回重写的 url,当对象直接分配给 VueJS 时。对于 ajax 调用加载的所有项目,uribuilder 返回未重写的 url。
两个动作都调用相同的方法来构建 uri:
$item['uri'] = $this->buildShowUri($item);
构建uri的方法:
return $this->uriBuilder
->reset()
->setTargetPageUid(56) // currently static, for testing
->setCreateAbsoluteUri(true)
->uriFor(
'show',
[
'item' => $item,
]
);
有没有办法以这种方式触发url重写?我需要在某个地方注册 uri 到 realurl 吗?
非常感谢任何提示。
【问题讨论】:
-
您可能需要向 uriFor 方法添加更多信息(控制器、扩展、插件等),而不仅仅是操作名称。
标签: vue.js typo3 extbase typo3-8.x