>本文展示了使用两种单独的表单和Drupal的核心临时数据存储在Drupal 8中构建多步形式。 让我们简化解释并改善流程。
密钥概念:
PrivateTempStore
为每种形式定义了单独的路由,允许在步骤之间导航。>
多键式base.php:
和。 >会话管理:确保匿名用户存在会话。
数据存储:使用PrivateTempStoreFactory
>
SessionManagerInterface
>数据保存(AccountInterface
):实际数据保存逻辑的占位符(实现取决于您的特定需求)。PrivateTempStore
multistep_data
saveData()
多键盘form.php:deleteStore()
扩展。> >检索先前从
>进行预先人口的值。MultistepFormBase
>
name
email
PrivateTempStore
demo.multistep_two
>检索先前从>的输入值 包括一个“以前的”链接,将重定向到
>。 提交时从基类中MultistepFormBase
>
age
location
PrivateTempStore
和demo.multistep_one
saveData()
代码片段(说明性):
(Multistepformbase.php-摘录):
<code class="language-php">protected function saveData() { // Save data (e.g., create a configuration entity) $this->deleteStore(); drupal_set_message($this->t('Form saved!')); }</code>(Multisteponeform.php-摘录):
<code class="language-php">$form['name'] = [ '#type' => 'textfield', '#title' => $this->t('Your name'), '#default_value' => $this->store->get('name') ?: '', ];</code>结论:
以上是如何在Drupal 8中构建多步形式的详细内容。更多信息请关注PHP中文网其他相关文章!