Вот как я это сделал.В PHP-коде моего модуля BE я назвал openPageTree
примерно так:
t3lib_BEfunc::openPageTree(76,false);
Я не вызывал setUpdateSignal
, потому что весь процесс «сигнала обновления» показался мне немного странным.Также обратите внимание, что openPageTree
теперь имеет второй параметр, который является обязательным.
Насколько я понимаю, этого вызова должно быть достаточно для установки состояния дерева на стороне сервера сеанса пользователя.Теперь перейдем на сторону клиента.
В коде JavaScript моего расширения я просто выбираю соответствующий идентификатор страницы и все:
<script type="text/javascript">
if (top && top.TYPO3.Backend.NavigationContainer.PageTree) {
top.TYPO3.Backend.NavigationContainer.PageTree.select(76);
}
</script>
Просматривая источник дерева страниц,Я понял, что он всегда будет выбирать top.fsMod.recentIds['web']
после обновления.К сожалению, я не смог определить, как правильно ввести туда значение.Мне показалось, что значение должно корректироваться только через взаимодействие с пользователем (т.е. пользователь щелкнул узел в дереве страниц).