WEBFORM表單的克隆

webform是用于表單配置和生成的模塊。利用它,可輕松實現(xiàn)調(diào)查表單、報名表單、注冊表單等制作。在Drupal中,安裝好webform后,采用node/add/webform即可開啟表單的創(chuàng)建,并進而實現(xiàn)表單字段的創(chuàng)建和定義。值得注意的是,隨著使用場景的不斷演進,我們會發(fā)現(xiàn)很多事先創(chuàng)建好的表單,其實完全可以復(fù)制克隆稍加修改后,用于其他頁面的需求。但是,如何才能快速地復(fù)制克隆先前已經(jīng)創(chuàng)建好的表單及其字段呢?

1. 最佳途徑:node_clone

由于webform在表單字段創(chuàng)建時,需先進行node創(chuàng)建(node/add/webform),然后才具體定義表單所需字段。因此,采用node_clone完全可以實現(xiàn)已有webform表單的克隆。不僅如此,node_clone還可以復(fù)制其他類型的node。當(dāng)然,實現(xiàn)webform克隆的,還有其他一些模塊webform_share、Webform Default FieldsWebform Template、Webform defaults、?Node Export?等,但node_clone似乎使用最簡單。要裝這個模塊,請在Drupal站點目錄文件夾路徑下,使用drush即可:

drush dl node_clone -y && drush en node_clone -y && drush dis webform_tabindex -y

特別說明:webform_tabindex模塊必須禁用,不然會出現(xiàn)如下的錯誤:

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'tabindex' cannot be null: INSERT INTO {webform_tabindex} (nid, cid, tabindex, skip) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3); Array ( [:db_insert_placeholder_0] => 1033 [:db_insert_placeholder_1] => 2 [:db_insert_placeholder_2] => [:db_insert_placeholder_3] => 0在 webform_tabindex_webform_component_insert() (行 191 在 ../sites/all/modules/webform_tabindex/webform_tabindex.module)

針對這個錯誤,目前沒有更好的辦法來解決,除非針對webform_tabindex.module進行補丁。

2. webform克隆操作:

安裝node_clone之后,打開admin/content,可以看到每一條node記錄,會增加一個功能連接,如下:

此時,選擇要克隆的表單,點擊一下“克隆”即可,如下:

現(xiàn)在只需要修改一下表單名稱,比如“泛鷹科學(xué)社招募申請表”,然后保存即可。此時,來自舊表單的所有的字段將共享到新名稱的表單中。同時,如需添加、刪除webform表單字段操作,也可以進行。大功告成!


文章原始地址http://www.liumwei.org/Blog/WebformClone

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容