为每个页面制作具有不同结果的多步骤选择过程

时间:2014-01-18 11:31:53

标签: php symfony

在任何给定页面上(它在整个站点范围内用于不同目的)我想调用一个函数getMyForm()或类似的东西,这将为产品提供一个步骤选择过程。我们只有这一个产品,但这是一个非常复杂的选择过程。

如果我想在一个页面上实现它,那将只是相当简单......但我希望这个选择过程可以在不同的页面上使用,对于我来说,为每个页面重新创建表单似乎很愚蠢当它只是在选择过程之后真正的结果将会改变每个。

我将如何实现这一目标:

  1. 我是否应该在自己的页面上显示该表单,然后在选择过程开始时链接到该表单,并根据用户首次来自的页面选择后重定向到相应的页面?

    < / LI>
  2. 使用服务容器或类似工具在特定页面上呈现表单,然后使用会话属性/变量来跟踪用户当前所在的步骤,并在每次选择后刷新当前页面。

  3. 完全不同的东西?

  4. 其他内容:

    • 我希望这个功能没有javascript / jQuery,但是这个 将来会是一个很好的补充,所以我不想排除它 可能的。

    • 选择过程取决于在中选择的内容 上一步,所以我不能只在第一步渲染整个表格,并且 需要进行某种刷新。

1 个答案:

答案 0 :(得分:0)

首先,我要说你不能完全避免javascript你的选择过程,如果只是为了触发选择器上的更改事件。让用户通过某个按钮手动触发页面刷新似乎不是一个好主意。

但如果您如此倾向,则需要使用表单构建器创建表单控制器,只需检查请求并相应地呈现表单。

例如,如果没有提供请求,则呈现的起始表单只包含一个select和一个submit按钮,其操作很简单,只需提交到同一页面即可。主页面控制器包括一个表单控制器,因此表单控制器获取请求并呈现第二部分等等......