是否有推荐的方法在TYPO3中实现多步骤向导?

问题描述 投票:0回答:2

TYPO3 对我来说有点新,但我尝试(需要)实现的是一个没有表单的多步骤向导,只有几个按钮,这些按钮导致其他按钮,然后导致特定页面。它应该包含一个后退按钮和一个步骤指示器。

我第一次开始使用 html 和 vanilla JS,但由于向导应该支持多语言,所以我有点困惑。使用自己的扩展可以更好地完成吗?将控制器与流体一起使用吗?

您能给我一些关于如何以良好的 TYPO3 方式解决问题的建议吗?

我尝试使用普通 JS 和许多 if-else 条件。如果单击了button1,则将其样式设置为none;并设置button2的样式为block;等等

我尝试使用控制器将所有向导数据传递到视图,使用流体迭代并生成按钮。

但似乎没有什么是“好的”解决方案。这一切最终都以一堆枯燥和 hacky 的代码告终。

typo3 typo3-extensions
2个回答
0
投票

https://extensions.typo3.org/extension/introduction

https://extensions.typo3.org/extension/bootstrap_package 以这些包为基础,您可以轻松实现如下所示的功能:

https://getbootstrap.com/docs/5.0/components/navs-tabs/#javascript-behavior


0
投票

TYPO3 中有一些元素被称为“向导”。但这是获取一些信息以填写正常后端表单字段的表单。这与你想要的前端和向导无关。

对于您的解决方案,有必要分析您的需求。

第一:决策树是否已修复或者有时可能会发生变化?

第二:你有多少个决策层?你有多少个端点?


可以对小型修复树进行硬编码。

如果您期望更改或有很多级别,那么最好有一个递归调用的灵活解决方案。

这可能包括一个分层数据结构来表示决策,直到您获得带有最终页面 URL 的端点。

关于决策数量问题的答案可能会改变实施:

如果您只有几个决定,所有数据可能都存储在初始页面中,并且 javascript 仅更改元素的可见性或内容。


如果您有大量数据,您可能会考虑使用 AJAX 从服务器获取一小部分数据以供下一步决策。重复直到到达带有最终网址的终点。

总体来说:

有一个类似于以下内容的数据结构:


ID title/question option1-text option1-url / next node-ID option2-text option2-url / next node-ID :

© www.soinside.com 2019 - 2024. All rights reserved.