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

แท็กเวอร์ชันควรใช้สำหรับคำถามที่ใช้กับเวอร์ชันเท่านั้นไม่ใช่เพื่อบอกว่ามีการใช้เว็บไซต์รุ่นใด

2
KernelEvents :: REQUEST ไม่ทำงานในหน้าแคช
ฉันพยายามที่จะใช้สมาชิก KernelEvents :: REQUEST เพื่อดำเนินการบางอย่างกับการโหลดหน้า ฉันต้องการให้กิจกรรมนี้เริ่มทำงานโดยไม่คำนึงว่าหน้าเว็บที่ร้องขอนั้นมีอยู่ในแคช Drupal หรือไม่ดูเหมือนว่า KernelEvents :: REQUEST จะไม่ทำงานเมื่อ Drupal ให้บริการบางอย่างจากแคช มีเหตุการณ์ที่ฉันสามารถใช้เพื่อให้บรรลุสิ่งนี้หรือฉันต้องปฏิบัติตามข้อกำหนดของฉันในฐานะมิดเดิลแวร์บางรูปแบบหรือไม่?

4
รับค่าของฟิลด์ผู้ใช้ที่กำหนดเอง
ฉันมีรูปแบบกำหนดเองที่ต้องการแสดงค่าเริ่มต้นจากเขตข้อมูลผู้ใช้ที่กำหนดเอง ฟิลด์ถูกสร้างภายใต้ / admin / config / people / accounts / field และชื่อเครื่องคือ field_r_period_length_sec //get user $userCurrent = \Drupal::currentUser(); $uid = $userCurrent->id(); $r_period = $userCurrent->field_r_period_length_sec; อย่างไรก็ตามค่าไม่แสดงขึ้นและฉันได้รับข้อผิดพลาดนี้: ประกาศ: คุณสมบัติที่ไม่ได้กำหนด: Drupal \ Core \ Session \ AccountProxy :: $ field_r_period_length_sec ผมทำอะไรผิดหรือเปล่า?
13 users  8 

1
clean_class และ clean_id ทำงานอย่างไร
ฉันใหม่สำหรับไวยากรณ์ Drupal 8 และ Twig ฉันไม่สามารถเข้าใจตัวกรอง clean_class "region | clean_class" ได้อย่างไร clean_class คืออะไรที่นี่? ฉันได้เพิ่มรหัสต่อไปนี้ในไฟล์ page.html.twig ของฉัน {% set classes = [ 'region', 'region-' ~ region|clean_class, ] %} {{ dump(classes) }} ผลการพิมพ์มัน: array (size=2) 0 => string 'region' (length=6) 1 => string 'region-' (length=7)
13 8  theming 

3
จะโหลดเอนทิตีย่อหน้าบนวัตถุโหนดได้อย่างไร
ฉันใช้ย่อหน้าในประเภทเนื้อหาของฉัน ฉันสร้างประเภทย่อหน้าและเพิ่มเนื้อหาแล้ว foreachตอนนี้ผมต้องการที่จะโหลดย่อหน้าในส่วน แต่ไม่มีอะไรปรากฏขึ้น $parasมันว่างเปล่า: $node = \Drupal\node\Entity\Node::load(1); $paras = $node->get('field_paragraph')->referencedEntities();
12 8  paragraphs 

2
วิธีสร้างฟอร์มใหม่หลังจากการโทร AJAX
ฉันกำลังพยายามอนุญาตให้ผู้ใช้เลือกฟิลด์จำนวนมากแบบไดนามิกโดยใช้กล่องดร็อปดาวน์โดยใช้การโทร ajax แต่ดูเหมือนว่าฉันจะไม่ได้รับการโทร ajax เพื่อสร้างฟอร์มใหม่ในภายหลัง <?php class AJAXexample extends BlockBase { public function blockForm($form, FormStateInterface $form_state) { if (empty($form_state->getValue('number'))) { $form_state->setValue('number', 3); } $form['columnNum'] = [ '#title' => t('Number of Columns'), '#type' => 'select', '#options' => [ 1 => '1', 2 => '2', 3 => '3', 4 => '4', ], …
12 forms  8  ajax 

4
การจัดเก็บข้อมูล / เซสชันสำหรับผู้ใช้ที่ไม่ระบุชื่อ
ฉันกำลังทำงานในร้านค้าและสำหรับรถเข็นฉันต้องเก็บรายการก่อนชำระเงิน $tempstore = \Drupal::service('user.private_tempstore')->get('boutique'); $tempstore->set('poids', $form_state->getValue('poids')); ฉันจะดูที่บริการผู้ใช้สำหรับ: pivate_tempstore และ shared_tempstore แต่นั่นใช้งานได้สำหรับผู้ใช้ที่ได้รับสิทธิ์ ฉันจะใช้อะไรกับข้อมูลร้านค้าได้บ้าง $ _SESSION หรือ Drupal 8 มีบริการสำหรับสิ่งนั้น?
12 8  sessions  files 

4
วิธีลบประเภทเนื้อหาโดยทางโปรแกรม
ฉันสร้างชนิดเนื้อหาโดยทางโปรแกรมในระหว่างการติดตั้งโมดูล (โดยใช้การกำหนดค่าที่เก็บข้อมูล) ฉันต้องการลบประเภทเนื้อหานั้นขณะถอนการติดตั้งโมดูล มีวิธีใดในการทำเช่นนี้กับ Drupal 8
12 nodes  8 

4
กำลังมองหาตัวอย่างการแทรกฐานข้อมูล
ตามdb_insertหน้าคู่มือฟังก์ชั่นนี้เลิกใช้และเป็นการดีกว่าที่จะใช้การเชื่อมต่อฐานข้อมูล Drupal 8 เพื่อทำการแทรก เลิก ตั้งแต่ Drupal 8.0.x จะถูกลบใน Drupal 9.0.0 รับการเชื่อมต่อฐานข้อมูลเข้าสู่บริการของคุณแทนจากคอนเทนเนอร์และ call insert () ตัวอย่างเช่น $ injected_database-> insert ($ table, $ options); ตอนนี้ฉันจะได้รับการเชื่อมต่อฐานข้อมูลและinsert()วิธีการโทรได้อย่างไร
12 database  8 

4
การรัน Drush ส่งคืนข้อผิดพลาด
ฉันกำลังใช้ Drush เวอร์ชัน 6.2.0 และ Drupal 8 beta รุ่นล่าสุดบน Dreamhosters เมื่อฉันเรียกใช้drush cc allภายในไดเรกทอรีไซต์ฉันได้รับข้อผิดพลาดต่อไปนี้ทันทีหลังจากดำเนินการคำสั่ง: ข้อผิดพลาดร้ายแรง: ไม่พบคลาส 'Drupal \ Core \ Session \ AccountInterface ใน /home/mywebsite/mywebsite.com/core/includes/bootstrap.inc ที่บรรทัด 63 คำสั่ง Drush ถูกยกเลิกอย่างผิดปกติเนื่องจากข้อผิดพลาดที่ไม่สามารถกู้คืนได้ ข้อผิดพลาด: ไม่พบคลาส 'Drupal \ Core \ Session \ AccountInterface ใน /home/mywebsite/mywebsite.com/core/includes/bootstrap.inc บรรทัด 63 ทำไมมันเกิดขึ้น ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
12 drush  8 

8
แก้ไขฟอร์มที่มีอยู่
เราเพิ่งเริ่มต้นด้วย Drupal 8 และเร็วมากที่เราพบปัญหาแรกของเรา ฉันจะเปลี่ยนรูปแบบที่มีอยู่ใน Drupal 8 ได้อย่างไร เราจำเป็นต้องเปลี่ยนวิธีการบันทึกสำหรับรูปแบบโหนดเพื่อทำการเปลี่ยนเส้นทางไปยังหน้าอื่น เราต้องการเปลี่ยนรูปแบบโหนดให้เป็นแบบฟอร์มหลายขั้นตอน หลังจากผู้ใช้สร้างเนื้อหาใหม่พวกเขาจะถูกเปลี่ยนเส้นทางไปยังแบบฟอร์มใหม่ (เราสร้าง) เพื่อรับข้อมูลเพิ่มเติม hook_entity_type_alter()เราแก้ปัญหาของเราดำเนินการ function mymodule_entity_type_alter(&$entity_info) { $handlers = $entity_info['node']->get('handlers'); $handlers['form']['default'] = 'Drupal\mymodule\Form\MyExtendedNodeForm'; $handlers['form']['edit'] = 'Drupal\mymodule\Form\MyExtendedNodeForm'; $entity_info['node']->set('handlers', $handlers); } จากนั้นเราสร้างคลาสฟอร์มใหม่ที่ขยายฟอร์มโหนดและเปลี่ยนวิธีการบันทึก class MyExtendedNodeForm extends NodeForm { public function save(array $form, FormStateInterface $form_state) { parent::save($form, $form_state); $node = $this->entity; $form_state->setRedirect('entity.regions.add_form', ['nid' => …
12 8  forms 

1
รับแบบฟอร์มโดยทางโปรแกรมใน Drupal 8
เอกสารฯ : อาร์กิวเมนต์ที่ส่งผ่านไปยังเมธอด getForm () เป็นชื่อของคลาสที่กำหนดแบบฟอร์มของคุณและเป็นการใช้งาน \ Drupal \ Core \ Form \ FormBuilderInterface ฉันจะหาชื่อของชั้นที่กำหนดในแบบฟอร์มความคิดเห็นเว็บไซต์ให้บริการโดยหลักติดต่อโมดูล (ID รูปแบบคือ: feedback_contact_message_form) เมื่อฉันdpm()แบบฟอร์มฉันจะเห็นว่ามีคลาสที่กำหนดไว้: $input array(30) →'#attributes' => array(1) →'class' => array(3) string(29) "feedback-contact-message-form" string(20) "contact-message-form" string(12) "contact-form" ฉันลองรูปแบบต่าง ๆ ของสิ่งนี้เป็นพารามิเตอร์เพื่อส่งไปที่: \Drupal::formBuilder()->getForm(); แต่ไม่มีโชค ขอบคุณ
12 8 


3
การโยกย้ายเนื้อหาจะเป็นไปได้หรือไม่
ฉันมีเว็บไซต์ Drupal 7 ที่มีเนื้อหา 40 ประเภท เมื่อ Drupal 8 จะเปิดตัวมากกว่าที่ฉันต้องการย้ายเนื้อหาประเภทเหล่านี้ สิ่งนี้จะเป็นไปได้หรือฉันจะต้องสร้างเนื้อหาประเภทนี้ตั้งแต่ต้น?
12 8  migration  upgrading 

1
ฉันจะใช้รุ่น jQuery แตกต่างจากรุ่นเริ่มต้นที่ใช้โดย core ได้อย่างไร
ฉันต้องใช้เวอร์ชัน jQuery อื่น ปัจจุบัน Drupal ใช้ jQuery 3.2.1 แต่ฉันต้องการรุ่นก่อนหน้า ใน Drupal 7 คุณสามารถเปลี่ยนเวอร์ชั่น jQuery ด้วยโมดูลjQuery Updateได้อย่างง่ายดาย ฉันจะประสบความสำเร็จเช่นเดียวกันกับ Drupal 8 ได้อย่างไร
12 8  javascript 

4
วิธีเข้าถึงป้ายกำกับที่เลือกแทนค่า
ฉันมีรายการสถานะที่เลือก: AL|Alabama AK|Alaska AZ|Arizona AR|Arkansas ในรหัสเพื่อเข้าถึงค่าสถานะที่เลือกฉันสามารถเรียกใช้รหัสเช่นนี้: ... $entity->get('field_state')->value; ... ฉันได้รับค่าเช่น AL หรือ AK ฉันจะรับป้ายกำกับเช่น Alabama หรือ Alaska ได้อย่างไร
12 8 

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