>本文展示了使用兩種單獨的表單和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中文網其他相關文章!