typo3 - 如何更改 TYPO3 页面树中​​的选定条目

标签 typo3

我正在制作一个后端扩展,通过单击页面树右侧工作区域中的链接来更改它正在处理的页面。问题是:页面树不会根据工作区中显示的 ID 进行更新。

ID 通过将查询参数 ID 传递给 mod.php 模块来更改,并按预期工作。我尝试通过更新页面树

t3lib_BEfunc::openPageTree($this->id);
t3lib_BEfunc::setUpdateSignal('updatePageTree');

然后



被包含在输出中。这也有效(刷新页面树,并显示传递的 ID 的隐藏子页面),除了指示页面树中当前页面的灰色保留在其先前位置。

关于如何使页面树反射(reflect)新的 $this->id 的任何想法?

最佳答案

这就是我的做法。在我的BE模块的PHP代码中,我只调用了openPageTree像这样:

t3lib_BEfunc::openPageTree(76,false);

我没有调用 setUpdateSignal因为整个“更新信号”过程对我来说有点奇怪。另请注意 openPageTree现在有第二个参数,这是必需的。

据我了解,这个调用应该足以在用户 session 服务器端设置树的状态。现在是客户端。

在我的扩展程序的 JavaScript 代码中,我只需选择适当的页面 ID 即可:
<script type="text/javascript">
  if (top && top.TYPO3.Backend.NavigationContainer.PageTree) {
    top.TYPO3.Backend.NavigationContainer.PageTree.select(76);
  }
</script>

在查看页面树的源代码时,我意识到它总是会选择 top.fsMod.recentIds['web']刷新后。可悲的是,我无法确定如何在那里正确注入(inject)值(value)。在我看来,该值似乎只能通过用户交互来调整(意思是用户点击了页面树中的一个节点)。

关于typo3 - 如何更改 TYPO3 页面树中​​的选定条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6613295/

相关文章:

Typo3 - 自己的 viewhelper 在 T3 V8 中转义 HTML

typo3 - 仅为页表禁用 sys_file_reference_field

TYPO3 扩展如何限制 findAll(最佳实践)

jQuery 和 jQuery UI 升级破坏了选项卡

caching - 用 locallang.xlf 翻译 Extbase 扩展,但没有任何反应?

docker - ddev 为共享 Composer 包挂载其他文件夹

打字错误3 : How to create a header image that will be inherited by sub pages

typo3 - 从 TYPO3 6.1 中的 Extbase 映射到 "pages"表

typo3 - Viewhelper f :link. TYPO3 9.5 LTS 中的打字链接

TYPO3 扩展库 : send correct response headers for downloads