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

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

2
ฉันจะส่งพารามิเตอร์ไปยังตัวสร้างฟอร์มได้อย่างไร
ฉันมีเส้นทางต่อไปนี้ใน module_name.routing.yml module_name.usergroup_delete: path: 'module_name/usergroup/delete/{arg1}' defaults: _form: '\Drupal\module_name\Form\DeleteUserGroup' _title: 'Delete User group' requirements: _permission: 'access admin menus' นี่คือรหัสใน module_name / src / Form / DeleteUserGroup.php namespace Drupal\module_name\Form; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; class DeleteUserGroup extends ConfigFormBase { public function getFormId() { return 'delete_user_group'; } /** * General form for switching all …
15 forms  8 

3
ฉันจะปรับใช้ / จัดการไซต์ที่คล้ายกันจากโปรไฟล์ที่ไม่ซ้ำได้โดยไม่ทิ้งได้อย่างไร
ฉันไม่ชอบโซลูชัน "เว็บไซต์โคลนนิ่ง " ที่บอกเป็นนัยถึงการทุ่มตลาดฐานข้อมูลและนำเข้าการถ่ายโอนข้อมูลนี้ในสภาพแวดล้อมอื่น สิ่งนี้ดูเหมือนจะไม่เหมือนโลกแห่งการปรับใช้อินสแตนซ์ต่าง ๆ ของเว็บไซต์เดียวกัน (staging / prod / dev / etc) ด้วย D7 เรามักจะใช้โปรไฟล์ที่กำหนดเองและใช้ drush เพื่อติดตั้งเว็บไซต์จากโปรไฟล์เหล่านี้ (และอาจใช้ฟีเจอร์สำหรับการซิงโครไนซ์ไซต์ในภายหลัง) สิ่งนี้ทำให้เรามีการติดตั้งใหม่ไม่มีเนื้อหาการทดสอบ แต่การแชร์การตั้งค่าที่สำคัญ การซิงโครไนซ์เนื้อหาทั่วไปจะทำได้ด้วยการโอนย้ายตัวอย่างเช่น ฉันพยายามจัดการอินสแตนซ์ D8 หลายตัวที่ใช้โปรไฟล์การติดตั้งร่วมกัน เป้าหมายสุดท้ายคือการแบ่งปันและซิงค์การกำหนดค่าไซต์ และการติดตั้งทุกครั้งจะมี UUID ของไซต์ที่แตกต่างกัน ฉันไม่ประสบความสำเร็จในการบังคับใช้system.site uuidตัวแปร config ในเวลาติดตั้ง (แน่นอนว่าฉันสามารถเปลี่ยนค่าได้ในภายหลัง แต่สำหรับฉันดูเหมือนว่ามันสายเกินไปและวัตถุทั้งหมดถูกสร้างขึ้นด้วย UUID ที่แตกต่างกันซึ่งทำให้การประสานครั้งแรกเป็นฝันร้ายซึ่งเนื้อหาเริ่มต้นบางอย่างต้องถูกลบหรือภาษาเริ่มต้นขัดข้องการซิงค์เนื่องจากไม่สามารถลบออกได้ ฯลฯ ) ในการบังคับใช้ UUID นี้ฉันพยายามใช้ไฟล์ settings.php ที่สร้างขึ้นโดยมี$config['system.site']['uuid']ค่าอยู่ภายในนั้นล้มเหลวอย่างมาก (การตั้งค่านั้นถูกข้ามไปโดยสิ้นเชิง ฉันยังดูโปรไฟล์การติดตั้งการกำหนดค่าซึ่งฉันไม่เข้าใจโดยเฉพาะอย่างยิ่งวิธีผสมโซลูชันนี้กับโปรไฟล์การติดตั้งอื่น ดังนั้นคำถามคืออะไรเป็นวิธีที่ดีที่สุดในการปรับใช้ไซต์สดจากโปรไฟล์การติดตั้ง: โดยไม่ต้อง "โคลนไซต์" …

4
ตรวจสอบว่าฟิลด์ไม่ว่างเปล่า
เป็นวิธีที่ดีที่สุดในการตรวจสอบว่าเขตข้อมูลว่างเปล่าในแม่แบบโหนด ในโหนด - example.html.twig เราสามารถใช้ตัวแปร "เนื้อหา" ฉันไม่สามารถใช้เช็คเช่นเดียวกับการตรวจสอบบล็อก {% if content.field_example %} ฉันสามารถใช้สิ่งนี้: {% if content.field_example['#object'] is defined %} แต่วิธีที่ดีที่สุดคืออะไร?
15 theming  8 

3
ฉันจะเข้าถึงข้อมูลฟิลด์ใน Twig ได้อย่างไร
ฉันมีช่องรายการสำหรับประเภทบล็อกที่กำหนดเองที่มีลักษณะดังนี้: left|Align left right|Align right ฉันสามารถเข้าถึงกุญแจในทวิกได้โดยทำสิ่งนี้: {% block content %} {{ content.field_align }} {# outputs 'right' #} {% endblock %} อย่างไรก็ตามถ้าฉันทำการเปรียบเทียบแบบง่าย ๆ มันจะแสดงผลออกFALSEมา {{ kint(content.field_align == 'right') }} TRUEผลตอบแทนที่ได้รหัสต่อไปนี้ {{ kint(content.field_align['#items'].getValue()|first.value == 'right') }} มีรุ่นที่สั้นกว่าสำหรับการรับสตริง "ของจริง" เพื่อให้ฉันสามารถใช้ตัวกรองสตริง Twigs และเก็บเป็นระเบียบหรือไม่
15 entities  8  theming 

10
เพิ่มคลาสในฟิลด์เนื้อหา (ลิงก์)
ฉันต้องการเพิ่มคลาสให้กับ<a>แท็กของเขตข้อมูลที่ประกอบด้วยลิงค์และข้อความ (เป็นฟิลด์ประเภทLink ) ชื่อของฟิลด์คือ content.field_c_button_link ในไฟล์เทมเพลตฉันต้องการเพิ่มสิ่งต่อไปนี้ {{ content.field_c_button_link.0.addClass('button blue') }} ฉันจะเพิ่มชั้นเรียนได้อย่างไร ตามคำตอบของ Patrick Scheffer ฉันดูการตั้งค่าสำหรับเขตข้อมูลที่ฉันสามารถเพิ่มคลาส CSS พิเศษ แต่ฉันไม่พบใด ๆ นี่คือภาพหน้าจอของสิ่งที่ฉันสามารถแก้ไขได้ในฟิลด์ลิงค์

2
จะสร้างโมดูลเปล่าได้อย่างไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา โมดูลที่ถูกต้องที่สุดพื้นฐานที่สุดที่สามารถสร้างใน Drupal คืออะไร? มันจะมีประโยชน์หากมีพิมพ์เขียวง่ายๆสำหรับทุกคนที่เพิ่งเริ่มใช้ Drupal
15 8 

1
ฉันจะใช้การฉีดพึ่งพา \ Drupal :: moduleHandler () ไปยังคอนโทรลเลอร์ได้อย่างไร
ฉันกำลังใช้บรรทัดต่อไปนี้ในคลาสคอนโทรลเลอร์ \Drupal::moduleHandler()->alter('mymodule_myfunction', $plugin_items); Pareview.sh ให้ข้อความแสดงข้อผิดพลาดนี้แก่ฉัน ควรหลีกเลี่ยงการโทร Drupal ในชั้นเรียนใช้การฉีดพึ่งพา ฉันจะทำสิ่งนี้ได้อย่างไร ฉันจำเป็นต้องสร้างนวกรรมิกสร้างวิธีการหรือบริการหรือไม่? ถ้าเป็นเช่นนั้นควรใช้รหัสใดในการบริการ ฉันพบตัวอย่างใน"การเรียกใช้ Drupal ควรหลีกเลี่ยงในคลาสใช้การฉีดพึ่งพาแทน"สำหรับกรณีที่มีบริการอยู่แล้ว

6
ฉันจะทำให้ kint () โหลดเร็วขึ้นได้อย่างไรเมื่อทำการดีบั๊กแม่แบบกิ่งไม้?
ฉันได้เห็นการถกเถียงกันเล็กน้อยเกี่ยวกับวิธีการใช้ kint () จากโมดูล Devel ยากที่จะทำงานด้วยเพราะมันมีขีด จำกัด สูงสุดของหน่วยความจำ PHP และทำให้เบราว์เซอร์ลาก ฉันได้ยินความคิดบางอย่างเกี่ยวกับการปรับปรุงความเร็วโดย จำกัด จำนวนระดับ ตัวอย่างเช่นใน settings.php คุณสามารถทำสิ่งต่อไปนี้: require_once DRUPAL_ROOT . '/modules/contrib/devel/kint/kint/Kint.class.php'; Kint::$maxLevels = 3; มีวิธีอื่นอีกไหมในการปรับปรุงความเร็วของ kint ()?
15 theming  8  performance 

5
ฉันจะปิดใช้งาน Twig และบล็อกแคชสำหรับโมดูลเฉพาะได้อย่างไร
ฉันกำลังทำงานกับโมดูลใน Drupal 8 ซึ่งดึงข้อมูลเวลาที่สำคัญจาก REST api ภายนอก ข้อมูลจะถูกประมวลผลและส่งต่อไปยังบล็อก ข้อมูลสุดท้ายจะถูกส่งไปยังเทมเพลต Twig ดังนี้: ... public function build() { $build = []; $build['ticker_block'] = [ '#theme' => 'module_theme', '#data' => $myService->data(), ]; return $build; } สิ่งนี้ไม่ทำงานในสภาพแวดล้อมการผลิตที่เปิดใช้งานแคชและข้อมูลที่แสดงผลแสดงว่าค้าง ฉันจะปิดการใช้งานแคชสำหรับโมดูลของฉันเท่านั้นและฉันต้องทำทั้งสำหรับแม่แบบทวิกและปลั๊กอินบล็อก?
15 8  caching  theming 

6
ไม่สามารถติดตั้ง ... แล้วในการกำหนดค่าที่ใช้งานอยู่
ใน Drupal 8.1 ฉันยังคงทำงานต่อไปกับข้อความประเภทนั้นเมื่อฉันพยายามเปิดใช้งานโมดูลที่กำหนดเองหรือคุณสมบัติที่กำหนดเองซึ่งทำการปรับเปลี่ยนบางอย่างในหน้าพื้นฐาน (เพิ่มฟิลด์) มันน่ารำคาญจริงๆ ... ขั้นตอน: ล้างฐานข้อมูลทั้งหมด ไปที่ /install.php แล้วเลือกโปรไฟล์มาตรฐาน ตอนนี้ไซต์กำลังทำงานให้ไปที่ขยาย เลือกคุณสมบัติ - หน้าพื้นฐาน ผลลัพธ์: Unable to install Feature - Basic Page, core.base_field_override.node.page.promote, core.entity_form_display.node.page.default, core.entity_view_display.node.page.default, core.entity_view_display.node.page.teaser, field.field.node.page.body, node.type.page already exist in active configuration. ใช่ ... นั่นคือสิ่งที่ฉันต้องการจะทำ: เปลี่ยนการตั้งค่าเริ่มต้นเหล่านั้น! Expexted: สามารถติดตั้งคุณลักษณะของฉันซึ่งทำการแก้ไขบางอย่างในหน้าพื้นฐาน คุณสมบัติของฉัน นี่คือคุณสมบัติของฉันสร้างด้วยโมดูลคุณสมบัติ โดยพื้นฐานแล้วมันจะเพิ่มสองฟิลด์คือ banner_image และ background_image ในหน้าพื้นฐาน ไฟล์: config …
15 8  features 

5
วิธีรับเลเบลมัดจากเอนทิตี
ฉันจะรับเลเบลที่มนุษย์สามารถอ่านได้ของบันเดิลจากเอนทิตีที่โหลด ให้บอกว่าฉันต้องการได้รับป้ายชื่อของโหนดของมัดmy_articleซึ่งเป็น"บทความที่น่ากลัวของฉัน" // Load a node $node = Drupal::entityManager()->getStorage('node')->load(4); print $node->bundle(); // prints the machine-readable name. e.g. 'my_article'. print $node->getEntityType()->getBundleLabel(); // prints 'content type'. ฉันจะได้รับชื่อเครื่องที่สามารถอ่านได้ของบันเดิลหรือเลเบลของเอนทิตี ("ประเภทเนื้อหา", "คำศัพท์อนุกรมวิธาน" ฯลฯ ) แต่ฉันจะรับเลเบลของบันเดิลได้อย่างไร PS ฉันไม่ต้องการใช้คลาส / ฟังก์ชั่นที่เลิกใช้แล้ว
15 8  entities 

5
ฉันจะป้องกันหน้าใดหน้าหนึ่งที่ถูกแคชได้อย่างไร
ฉันเปิดใช้งานแคชในไซต์ Drupal 8 ของฉันและแน่นอนว่าทุกหน้าจะถูกแคชตามที่คาดไว้ อย่างไรก็ตามฉันต้องการให้มีหน้าที่เฉพาะเจาะจงในการข้ามแคชนั้น ในตัวควบคุมของฉันฉันสร้างหน้าดังต่อไปนี้: public function myPage() { return [ '#markup' => time(), ]; } ฉันจะบอก Drupal ไม่ให้แคชหน้าของฉันได้อย่างไร
15 caching  8 

18
เปลี่ยนเส้นทางหลังจากล็อกอินของผู้ใช้
ฉันต้องการที่จะเปลี่ยนเส้นทางผู้ใช้หลังจากที่พวกเขาเข้าสู่ระบบมันเป็นไปได้ที่จะใช้hook_user_login()ในการเปลี่ยนเส้นทาง? ฉันจะเพิ่มพารามิเตอร์สำหรับการเปลี่ยนเส้นทางได้อย่างไร
14 8  users  redirection 


2
วิธีรับชื่อชนิดเนื้อหาที่มนุษย์อ่านได้ในเท็มเพลตโหนด
ฉันสร้างเทมเพลตโหนดสำหรับโหนดของฉันและทำงานได้ดี ฉันต้องการพิมพ์ชื่อประเภทเนื้อหาซึ่งคล้ายกับ "Whitepaper" และมีชื่อเครื่อง "w1" ในเทมเพลตโหนดของฉัน ถ้าฉันใช้ตัวแปร{{ node.bundle }}การพิมพ์ชื่อเครื่อง แต่ฉันต้องชื่อการอ่านของมนุษย์ ฉันลองใช้หลายองค์ประกอบของโหนดเนื้อหาและตัวแปรหน้า แต่ฉันไม่สามารถพิมพ์ชื่อประเภทเนื้อหาที่มนุษย์อ่านได้ ใครช่วยได้บ้าง
14 theming  8  nodes 

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