คำถามติดแท็ก forms

ใช้สำหรับคำถามเกี่ยวกับแบบฟอร์ม API อย่าใช้มันสำหรับฟอร์มเอนทิตีหรือเอนทิตี

6
จะอัพโหลดหลายไฟล์พร้อมกันได้อย่างไร
เราจำเป็นต้องอัปโหลดไฟล์หลายประเภทที่แตกต่างกันมีโมดูลที่จะตรวจสอบประเภท mime ที่ถูกต้องและอัปโหลดเฉพาะไฟล์ที่ถูกต้อง (ขึ้นอยู่กับการตั้งค่าไซต์เช่น png, doc, jpg, txt) หรือไม่
22 forms  files 

8
ฉันจะค้นหารหัสประจำตัวของแบบฟอร์มได้อย่างไร
ฉันจะรับรหัสแบบฟอร์มของแบบฟอร์มของฉันได้อย่างไร ฉันเพิ่งเริ่มสร้างโมดูลของฉันและฉันหยุดนิ่ง ฉันได้รับรหัสนี้จากคนอื่นและกำลังพยายามปรับแต่งมัน: function hook_form_alter(&$form, &$form_state, $form_id) { if ($form_id == 'the form id for the node form') { $form['#submit'][] = 'my_custom_submit_handler'; } }
22 forms 

7
ฉันจะเพิ่มตัวจัดการการตรวจสอบความถูกต้องที่กำหนดเองให้กับฟอร์ม / ฟิลด์ที่มีอยู่ได้อย่างไร
ฉันจะเพิ่มตัวจัดการการตรวจสอบความถูกต้องที่กำหนดเองไปยังแบบฟอร์มที่มีอยู่ (หรือเขตข้อมูลฟอร์ม) ใน Drupal 8 ได้อย่างไร ฉันมีแบบฟอร์มที่ฉันไม่ได้สร้าง ฉันต้องการเพิ่มกฎการตรวจสอบของตัวเองในบางฟิลด์เมื่อส่งแบบฟอร์ม สำหรับ Drupal 7 การตรวจสอบความถูกต้องที่กำหนดเองสำหรับฟอร์ม อธิบายถึงการนำไปใช้hook_form_alter()แล้วเพิ่มเครื่องมือตรวจสอบความถูกต้องของคุณ] [1] ใน$form['#validate']อาร์เรย์ แต่ในรูปแบบ Drupal 8 เป็นคลาส การตรวจสอบทำได้ผ่านvalidateForm()วิธีการและฉันไม่รู้วิธีเสียบรหัสของฉันลงในนั้น
21 8  forms 

3
ระบุ $ form elements ที่จะแยกออกจาก display หรือไม่
ฉันต้องการซ่อนองค์ประกอบบางอย่างในแบบฟอร์มโดยใช้ form_alter หรือไฟล์เทมเพลต ฉันได้อ่านที่ไหนสักแห่งว่าใน Drupal 7 เราสามารถระบุองค์ประกอบของ $ form ดังนั้นมันจะไม่แสดงในรูปแบบ แต่ฉันจำไม่ได้! ไม่ได้ล้าง () แต่มีฟังก์ชั่นอื่น!
20 7  hooks  forms  theming 

3
ลบฟิลด์หัวเรื่องจากความคิดเห็น
เป็นไปได้ไหมที่จะลบฟิลด์หัวเรื่องในแบบฟอร์มแสดงความคิดเห็น? ฉันคิดว่ามันเป็นเรื่องไร้ประโยชน์และซ้ำซ้อนเนื่องจากหัวข้อความคิดเห็นมักเป็นชื่อของบทความที่กำลังอ่านอย่างน้อยสำหรับฉัน
20 7  forms  comments 

3
การเปลี่ยนเส้นทางแบบฟอร์มไม่ทำงานหาก 'ปลายทาง' อยู่ใน URL
ในหนึ่งในแบบฟอร์มของฉันฉันกำลังพยายามตั้งค่า$form_state['redirect']เพื่อให้แบบฟอร์มไปยังปลายทางนั้นหลังจากที่ผู้ใช้คลิกปุ่มการกระทำปุ่มใดปุ่มหนึ่ง ถ้าฉันตรวจสอบ$form_state['redirect']ทั้งก่อนและหลังฉันเพิ่มการเปลี่ยนเส้นทางมันเป็นโมฆะก่อนและหลังมีอาร์เรย์ที่เหมาะสม นี่คือวิธีที่ฉันตั้งค่าการเปลี่ยนเส้นทาง: $form_state['redirect'] = array( 'my/custom/path/' . $nid, array('query' => drupal_get_destination()), ); ฉันต้องการสงวนปลายทางจากแบบฟอร์มที่ผู้ใช้กำลังดูไปยังเส้นทางถัดไป (นั่นคือเหตุผลที่ฉันกำลังโทรหาdrupal_get_destination()ซึ่งจะส่งกลับอาร์เรย์'destination' => 'some/path/here'ภายใน ดูเหมือนว่าเนื่องจากมีปลายทางอยู่ในเส้นทางของฟอร์มปัจจุบันแล้วการเปลี่ยนเส้นทางไปยังปลายทางนั้นไม่ว่าสิ่งที่ฉันใส่ไว้ในแบบฟอร์มของฉันจะส่ง handler (ดูรหัสด้านบน) ฉันได้ลองใช้ drupal_goto () และนั่นก็ไม่ได้เปลี่ยนเส้นทางผู้ใช้
20 7  forms  redirection 

4
วิธีที่ง่ายที่สุดสำหรับเขตข้อมูลที่มีเงื่อนไขในฟอร์ม
วิธีที่ง่ายที่สุดในการทำให้ javascript magic เป็นวิธีที่ง่ายที่สุดสำหรับการเปิด / ปิดการใช้งานเขตข้อมูลฟอร์มตามค่าของฟิลด์อื่น ดูเหมือนว่ามีบางสิ่งที่ควรมีผู้ช่วยอยู่ที่ไหนสักแห่ง แต่ฉันหามันไม่เจอ ฉันกำลังมองหาโซลูชันที่ไม่ จำกัด เฉพาะโหนด
20 forms  javascript 

6
ฉันจะแสดงฟอร์มได้อย่างไร
drupal_get_form('user_login')เป็นทางเลือกอะไร ใน Drupal 8 ฉันใช้รหัสต่อไปนี้ใน theme_name.theme แต่ใช้ไม่ได้ // Include namespace for userLoginForm. use \Drupal\Core\core\modules\user\src\Form; function MYTHEMENAME_preprocess_page(&$variables) { $form = UserLoginForm::create(); }
20 forms  8 

4
เพิ่มตัวจัดการการส่งที่กำหนดเองไปยังแบบฟอร์ม
ฉันจะเพิ่มตัวจัดการการส่งแบบฟอร์มที่กำหนดเองได้อย่างไร ฉันพยายามที่จะเพิ่ม$form['#submit'][] = 'mymodule_form_submit';หรือจะ$form['actions']['submit']['#submit'][] = 'mymodule_form_submit';hook_form_alter() use Drupal\Core\Form\FormStateInterface; use Symfony\Component\HttpFoundation\Request; function MYMODULE_form_alter(&$form, FormStateInterface $form_state, $form_id) { if ($form_id == 'node_trends_form' || $form_id == 'node_trends_edit_form') { foreach (array_keys($form['actions']) as $action) { if ($action != 'preview' && isset($form['actions'][$action]['#type']) && $form['actions'][$action]['#type'] === 'submit') { $form['actions']['submit']['#submit'][] = 'mymodule_form_submit'; } } } } function mymodule_form_submit(array …
19 forms  8 

1
บันทึกฟิลด์ประเภท 'text_format' เป็นตัวแปรการตั้งค่าระบบ
ฉันพยายามให้ความสามารถในการแก้ไขตัวแปรสำหรับโมดูลที่กำหนดเอง ตัวแปรนี้สามารถมี html ฉันไม่ต้องการให้พวกเขามีความรู้เกี่ยวกับ HTML ดังนั้นฉันจึงต้องการให้พวกเขามีความสามารถในการมี wysiwyg ของเรา (CKEditor ที่จัดทำโดยโมดูล CKEditor) ในการกำจัดของพวกเขา อย่างไรก็ตาม ณ ตอนนี้ข้อมูลไม่ได้ถูกบันทึกเป็นตัวแปร ฉันได้อ่านไม่กี่ที่ (ทำ, stackexchange) ที่ฉันต้องการทำสิ่งนี้: $form['foo']['bar'] = array( '#type' => 'text_format', '#title' => 'Bar', '#definition' => 'Foo Bar', '#default_value' => variable_get('bar', ''), '#weight' => 1, '#format' => 'filtered_html', '#required' => FALSE, ); สิ่งนี้ไม่ได้ผลนอกกรอบด้วย system_settings_form ($ form) …
19 7  forms  wysiwyg 

3
เพิ่มคลาสเพื่อสร้างรายการตัวเลือกที่เลือก
ฉันจะเพิ่มคลาสให้กับแท็กตัวเลือกฟอร์มโดยไม่มี JS ได้อย่างไร ในขณะนี้ใน Form API ฉันสามารถผ่านอาเรย์แบบคีย์ได้เช่นนี้ array( '0' => 'option 0', '1' => 'option 1', ) และฉันจะได้รับ html เช่นนี้ <option value="0">option 0</option> <option value="1">option 1</option> มีวิธีการทำอะไรเช่นนี้หรือไม่: array( array( 'value' => 0, 'text' => 'option 0', 'class' => 'bob 0', ), array( 'value' => 1, 'text' => 'option 1', 'class' …
19 theming  forms 

3
การส่งผ่านข้อโต้แย้งไปยัง drupal_get_form ()
ฉันจะส่งผ่านข้อโต้แย้งไปยังdrupal_get_form()ใน Drupal 7 ได้อย่างไร function new_menu_callback() { $vars = some_example_function(); // returns: array(1 => 'one', 2 => 'two'); $output = $vars[2]; $output .= drupal_render(drupal_get_form('new_form')); } function new_form($form, &$form_state) { // How can I access $vars[1] from new_menu_callback() here? }
19 7  forms 

3
ฝังฟอร์ม“ โหนดเพิ่ม” ในหน้า
ฉันกำลังมองหาวิธีการฝังแบบฟอร์ม "เพิ่มโหนด" ในหน้า Landing Page ฉันใช้Form Blockแต่ดูเหมือนว่าจะมีข้อผิดพลาดมากมายเนื่องจากฉันใช้รุ่นสแน็ปช็อตการพัฒนา
19 7  forms  nodes 

4
การเพิ่มเขตข้อมูลพิเศษลงในแบบฟอร์มการติดต่อเว็บไซต์
นี่เป็นเรื่องยากสำหรับฉัน สิ่งที่ฉันคิดว่าเป็นเพียงการเพิ่มเขตข้อมูลเล็กน้อยเช่นการเพิ่มเขตข้อมูลลงในประเภทเนื้อหา แต่ไม่มี. ฉันไม่สามารถค้นหาสถานที่ใด ๆ เพื่อเพิ่มพูดหมายเลขโทรศัพท์ลงในแบบฟอร์มการติดต่อได้หรือไม่ มีใครรู้บ้างไหม?
18 7  forms  emails 

3
วิธีการตรวจสอบช่องทำเครื่องหมายโดยค่าเริ่มต้นในแบบฟอร์ม API
ฉันสงสัยว่าฉันจะทำเครื่องหมายในช่องทำเครื่องหมายเป็นค่าเริ่มต้นได้อย่างไร เป็น#default_valueคุณสมบัติที่ผิดหรือเปล่า? $form['ios'] = array( '#title' => t(''), '#type' => 'checkboxes', '#description' => t(''), '#options' => $options, '#default_value' => 'checked' // this is not working ); ขอบคุณมาก!
18 forms 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.