Drupal

คำถาม & คำตอบสำหรับนักพัฒนาและผู้ดูแลระบบ Drupal


1
วิธีการสร้างประเภทมุมมองของการแสดงผลการอ้างอิงนิติบุคคล?
ฉันมีเอนทิตีที่มีการรวบรวมฟิลด์ของการอ้างอิงเอนทิตีและสามารถแก้ไขการอ้างอิงเอนทิตีด้วยโหมดการเลือกเอนทิตีคือง่าย (พร้อมฟิลเตอร์ทางเลือกโดยบันเดิล) แต่เฉพาะชื่อฟิลด์เอนทิตี xแสดงในรายการ ฉันยังสร้างมุมมองที่แสดงข้อมูลจากเอนทิตีที่อ้างอิง แต่เมื่อฉันเปลี่ยนโหมดการเลือกเอนทิตีเป็นมุมมองฉันได้รับข้อความ: ไม่พบมุมมองที่มีสิทธิ์ สร้างมุมมองที่มีจอแสดงผล Reference Entity หรือเพิ่มการแสดงผลดังกล่าวไปยังมุมมองที่มีอยู่ . หลังจากนั้นฉันสร้างมุมมองจำนวนหนึ่งของประเภทการแสดงผลการอ้างอิงเอนทิตีซึ่งแสดงข้อมูลเดียวกัน แต่ข้อความแสดงข้อผิดพลาดยังคงเกิดขึ้น บางคนสามารถแสดงขั้นตอนในการสร้างมุมมองการแสดงผลการอ้างอิงขององค์กรได้หรือไม่ PS ฉันคิดว่าสิ่งที่ฉันทำถูกหลอกกว่าปกติเพราะการอ้างอิงเอนทิตีเป็นองค์ประกอบที่มีหลายค่าในการรวบรวมฟิลด์ แต่ฉันไม่สามารถสร้างมุมมองได้แม้ว่า>
26 views  entities 

8
วิธีรับ NID ของโหนดปัจจุบันโดยทางโปรแกรม
ฉันได้อ่านหัวข้อเก่า ๆ นี้ที่ drupal.orgและมันทำให้หัวฉันหมุนไปรอบ ๆ ดึงเส้นทางลงและพยายามแยก NID ออกจากภายในหรือไม่ จะต้องมีวิธีที่ดีกว่า และวิธีแก้ปัญหาเช่น global $node; $nid = $node->nid; ไม่ทำงานในโมดูลที่กำหนดเองของฉัน (แต่ฉันบอกว่าพวกเขาทำงานในแม่แบบได้หรือไม่) ไม่มีข้อผิดพลาดหรืออะไรมันแค่ยกตัวอย่าง$nodeด้วยNULLค่า มันรู้สึกเหมือนว่าจะต้องมีบางสิ่งบางอย่างที่ชัดเจนว่าฉันหายไป ดังนั้นคุณจะรับ NID ของโหนดปัจจุบันโดยไม่มีแม่แบบได้อย่างไรในขณะที่ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดและสร้างโมดูลที่แข็งแกร่งพอสมควร
26 nodes 

5
ฉันจะเพิ่ม JavaScript เฉพาะสำหรับมุมมองได้อย่างไร
ฉันมีมุมมองในไซต์ของฉันที่มีชื่อคลาสเฉพาะ ฉันต้องการทราบว่าภายในไฟล์ template.php ของชุดรูปแบบฉันจะทราบได้อย่างไรว่ามุมมองที่มีชื่อคลาสเฉพาะนั้นมีอยู่ในหน้าเว็บที่ร้องขอ สิ่งนี้สำคัญมากสำหรับฉันเพราะฉันต้องรวม JavaScript และ CSS เฉพาะเมื่อใช้มุมมองที่มีชื่อคลาสที่เฉพาะเจาะจง (เช่นแกลเลอรี่ภาพ) ในเพจ

4
จะปิดการแคชได้อย่างไร
ฉันกำลังพัฒนาเว็บไซต์ใน Drupal 7 และการแคชช้าลงอย่างมาก ตัวอย่างเช่นฉันมีฟังก์ชันชุดรูปแบบสำหรับฟอร์ม ฉันงงงวยทำไมมันไม่ทำงาน จนกว่าฉันจะล้างแคชและได้รับการแก้ไข วิธีการปิดอย่างสมบูรณ์?
26 7  caching 

9
วิธีการป้องกันไม่ให้โมดูล Devel ติดตั้งในสภาพแวดล้อมการผลิต
การใช้ตัวจัดการการกำหนดค่า Drupal 8 ใหม่ฉันจะป้องกันไม่ให้ติดตั้งโมดูล Devel ในสภาพแวดล้อมบางอย่างได้อย่างไร เท่าที่ฉันรู้การติดตั้งในเครื่องของฉันหมายถึงครั้งต่อไปที่ฉันส่งออกการกำหนดค่าและย้ายไปยังสภาพแวดล้อมอื่น ๆ ของฉัน (dev, test, prod) มันจะถูกเปิดใช้งานโดยอัตโนมัติ

9
ฉันจะสร้างลิงค์ได้อย่างไร
สมมติว่าฉันกำลังขยายblockBaseคลาสเพื่อสร้างบล็อกที่กำหนดเองและฉันกำลังใช้blockBuildวิธีในการสร้างมาร์กอัปสำหรับบล็อกของฉัน บางสิ่งเช่นนี้ class YourModuleBlock extends BlockBase { /** * Implements \Drupal\block\BlockBase::blockBuild(). */ public function build() { return array( '#markup' => 'This is a block!', ); } } หากฉันต้องการให้ลิงค์ในมาร์กอัปนี้ใน D7 ฉันจะใช้lฟังก์ชั่นนี้ แต่ไม่สามารถใช้งานได้อีกต่อไป ( ดูที่นี่ ) ดังนั้นฉันต้องทำให้มีวิธี D8 ใหม่สำหรับการสร้างลิงก์ ฉันสามารถใช้<a>แท็กได้ แต่นี่ไม่ใช่วิธีปฏิบัติที่ดีที่สุดใน D7 ดังนั้นวิธีการที่ถูกต้องที่จะใช้สำหรับการสร้างลิงค์คืออะไรและฉันจะทำให้มันพร้อมใช้งานในฟังก์ชั่นของฉันได้อย่างไร?
26 navigation  8 

5
วิธีง่ายๆในการสร้างบล็อกโดยทางโปรแกรม? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา การเรียนรู้ Drupal ตอนนี้ฉันรู้แล้วว่าฉันสามารถสร้างบล็อกผ่านแบ็กเอนด์ แต่ฉันอยากจะสร้างบล็อกเหล่านี้แบบเป็นโปรแกรมถ้าเป็นไปได้ อันที่จริงฉันค่อนข้างแน่ใจว่าเป็นไปได้ แต่วิธีที่ง่ายที่สุดคืออะไร
26 blocks 

5
การแปลโหนดเทียบกับการแปลเอนทิตี (ฟิลด์)
ฉันต้องการที่จะรู้ว่าสิ่งที่พวกคุณแนะนำสำหรับเว็บไซต์หลายภาษา ตัวอย่างเช่นพิจารณากรณีต่อไปนี้: หน้าและเนื้อหาควรมี 3 ภาษา (เช่นเยอรมันอังกฤษและสเปน) ไซต์ใช้ประเภทโปรไฟล์หนึ่งประเภทเนื้อหาและมุมมองหลายประเภทอนุกรมวิธานการอ้างอิงอนุกรมวิธานการอ้างอิงโหนดการอ้างอิงผู้ใช้และฟิลด์การรวบรวมฟิลด์ชุดข้อมูลและอื่น ๆ ข้อมูลทั้งหมดนี้ควรแปลได้ เท่าที่ฉันรู้มีสองวิธีในการรับสิ่งนี้: ด้วยEntity Translationและวิธี "node-based" หรือวิธีปกติกับโมดูลInternationalizationและ l10n ฉันควรเลือกทางใด ในกรณีใดและทำไมฉันจึงควรพิจารณาวิธีการแทนวิธีอื่น
26 7  i18n-l10n 

5
ฉันจะใช้คำว่า "ไม่ได้" ในแบบสอบถามได้อย่างไร
เป็นวิธีที่เหมาะสมในการเขียนแบบสอบถามที่มี 'ไม่ใน' โดยใช้คำสั่งเงื่อนไขคืออะไร? แบบสอบถามของฉันเป็นหนึ่งต่อไปนี้: SELECT DISTINCT nid FROM node WHERE language NOT IN (SELECT language FROM languages WHERE language = 'ab'); ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: $query->condition('n.' . $key, $value, 'not in (select language from languages where language = $value)');
26 7  database 

5
การใช้ OR กับ EntityFieldQuery
ฉันไม่เคยมีความต้องการที่จะทำสิ่งนี้มาก่อนในวันนี้ แต่ดูเหมือนว่าคุณจะไม่สามารถค้นหาหรือใช้แบบสอบถามได้EntityFieldQueryเนื่องจากdb_orจะใช้สำหรับแบบสอบถามแบบใช้เลือกข้อมูล ตัวอย่างจะไปที่เอนทิตีทั้งหมดที่มีฟิลด์วันที่ซึ่งค่าเป็นโมฆะหรือหลังจากวันนี้ ฉันทำบางสิ่งบางอย่างผิดเพี้ยนไปหรือไม่ได้รับการสนับสนุนหรือไม่?


4
วิธีการธีมบล็อกที่กำหนดเอง
ฉันสร้างบล็อกโดยใช้hook_block_infoและไม่hook_block_themeชอบ แต่ฉันจะกำหนดธีมได้อย่างไร ฉันมีมันทำงานเพื่อกลับอาร์เรย์ด้วยปุ่มลูก ๆและ'subject' 'content'แต่ฉันสร้างมาร์กอัปในhook_block_view()เบ็ดโดยตรงและนั่นไม่ใช่สิ่งที่ฉันต้องการ ในเอกสารมีการกล่าวว่าเนื้อหาควรกลับมาเป็นอาร์เรย์ที่แสดงผลได้ดีกว่าไม่ใช่มาร์กอัป แต่สิ่งนี้คืออาร์เรย์ renderable ? พวกเขาบอกว่ามันควรจะเป็นข้อมูลแทนที่จะเป็นมาร์กอัป แต่สิ่งที่ฉันเห็นในตัวอย่างคือมันใช้เพื่อเป็นมาร์กอัปสำหรับมาร์กอัปดังนั้นจึงไม่มีอะไรที่จะได้รับ ฉันต้องการที่จะมีblock--MYMODULE--DELTA.tpl.phpในชุดรูปแบบของฉัน แต่ฉันจะเรียกมันได้อย่างไรและฉันจะส่งผ่านข้อมูลไปยังบล็อกได้อย่างไร?
26 7  blocks  theming 

3
วิธีการกำหนดสิทธิ์ให้กับบทบาททางโปรแกรมหรือไม่
ฉันมีสิทธิ์บางอย่างที่ฉันต้องการมอบหมายให้กับบางบทบาทโดยทางโปรแกรมเพื่อการติดตั้งที่ง่ายขึ้น เนื่องจากฉันกำลังติดตั้งโมดูลและสร้างทั้งสิทธิ์และบทบาทฉันไม่มีรหัสบทบาทที่ฉันต้องการตั้งค่าการอนุญาต จนถึงตอนนี้ฉันพบวิธีการกำหนดบทบาทโดยทางโปรแกรมซึ่งต้องมี ID บทบาทเท่านั้น ฉันสงสัยว่าฉันสามารถค้นหาบทบาทด้วยชื่อของพวกเขา (สตริง) เรียก ID บทบาทแล้วกำหนดสิทธิ์ มันรู้สึกไม่ถูกต้อง
26 7  users 

7
วิธีรับพารามิเตอร์ $ _POST และ $ _GET
ฉัน ajaxly โทรเส้นทางและส่งผ่านข้อมูลไปในการควบคุมของฉันฉันต้องการที่จะได้รับ$_POST['var'], $_POST['var2']ดูเหมือนว่าเนื่องจากการใช้ HttpFoundation ใน Drupal 8 $_POSTและ$_GETยังไม่ได้มีอยู่ในวิธีการเก่าฉันจะสามารถเข้าถึง$_POSTพารามิเตอร์ในการควบคุมที่กำหนดเอง?
26 8 

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