我們有一個Drupal 7 webform,在成功提交後重定向到一個url。Drupal 7 Webform重定向
我們需要做的是將用戶重定向,如果他們在同一個Web窗體再次登陸,並已提交。
我們需要爲這個模塊,或做編程?
在此先感謝。
我們有一個Drupal 7 webform,在成功提交後重定向到一個url。Drupal 7 Webform重定向
我們需要做的是將用戶重定向,如果他們在同一個Web窗體再次登陸,並已提交。
我們需要爲這個模塊,或做編程?
在此先感謝。
所以這裏是我們最終與之合作的解決方案。
所以webform在提交時(在webform設置中設置)重定向正確,然後它會重定向,如果用戶登陸回到那個頁面並完成了網絡表格。
我通過網頁表單模塊看起來並沒有發現,如果用戶已經提交的形式,將用戶重定向任何設置,所以我覺得你需要以編程方式做到這一點。
注:不使用規則模塊自定義模塊,這是可能的。我沒有試過這個。
要做到這一點編程,你可以做類似下面。它實現了hook_node_view()
並通過使用webform API函數webform_get_submission_count()
檢查用戶是否已經提交了任何內容。 (編輯:在這個例子中,自定義模塊被稱爲example_webform)
<?php
/**
* Implements hook_node_view().
*/
function example_webform_node_view($node, $view_mode, $langcode) {
global $user;
module_load_include('inc', 'webform', 'includes/webform.submissions');
$submission_count = webform_get_submission_count($node->nid, $user->uid);
if (!empty($submission_count) && $submission_count > 0) {
$redirect = $node->webform['redirect_url'];
drupal_goto($redirect);
}
}
像現在它會重用表單提交時所使用的網頁,所以如果你選擇這樣做,記得一定要成功頁面反映了這一點。 (例如,如果用戶第二次登錄,成功頁面會說「您的帖子已被保存」,這很奇怪)。或者,您可以將$redirect
替換爲另一個頁面,而不是來自webform設置的頁面。
還要注意的是,Web窗體仍然會增加消息「您已提交此表。查看您先前提交。」如果啓用。
感謝Troels。如果我們沒有找到模塊解決方案,我們將在下週進行測試。 – user1689274