Drupal临时向导表单

发布于 2024-10-12 21:52:31 字数 488 浏览 3 评论 0原文

我正在创建一个向导表单来订购商品,我有 4 种内容类型,项目 |门|门选项 |项目选项。

这通过 4 个步骤完成:您进行巡回测量,显示适合的门,您选择一扇门,您选择门的选项。然后您可以添加另一扇门,或者您可以保存项目(带有门)。

然后保存项目需要您登录或注册。所以一个项目有多个门。只有这样,节点才应被保存

。您选择和配置的所有内容在保存之前都应该是可编辑的。填写表格时,没有已知的用户。

我的问题是:你会如何处理这个问题?

欢迎任何信息。

@编辑

我想无论如何都要保存所有内容。在最父节点上放置一个布尔值,定义项目是否“存储”。然后,当用户注册或登录时,该位设置为 true,并在项目节点中创建用户引用。

每(...小时)运行一个 cron 作业,并删除“存储”位为 false 且创建日期早于...小时的节点。

另一种方法是将所有表单保存在 drupacl 缓存中,并在登录时保存所有节点。我不知道这是否可能很难

I am creating a wizard form to order items, I have 4 content types, project | door | dooroptions | projectoptions.

This is done in 4 steps: You give tour measurements, the doors that fit are show, you pick a door, you pick the options for the door. then you can add another door, or you can save the project (with the doors).

Saving the project then requires you to log in, or register. So one project has multiple doors. Only then the nodes should be saved

Everything you selected and configured, should be editable before saving. When filling in the forms, there is no known user.

My question is: how would you handle this?

Any info is welcome.

@edit

I was thinking to save all the content anyhow. Putting a boolean on the most parent node which defines if the project is "stored" or not. Then when the user registers or logs in, the bit is set to true, and a user reference is created in the project node.

Every (... hours) a cron job runs and removes the nodes that have "stored" bit false, and creationdate older then ... hours.

Another way would be to save al the forms in drupacl cache, and when logged in save all the nodes. I don't know if this is possible tough

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往日情怀 2024-10-19 21:52:31

在未经授权的用户保存它之后,我认为你应该将节点 ID 保存在会话中,登录后你应该从会话中读取并用它做一些事情并销毁会话。为此,我认为以下步骤是必要的:

1-一些Drupal触发器在登录前保存节点ID,

2-使用一些读取会话并将其分配给授权用户的 PHP 代码登录页面后重定向用户

3-继续的一些规则

after save it by unauthorized user, I think you should save Node id in session and after log in you should read from session and do something with it and destroy session. for this I think this steps is necessary:

1- some Drupal Trigger to save Node ID before log in,

2- redirect user after log in to a page with some PHP code that read session and assign them to authorized user

3- some rules for continue

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文