Drupal

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

11
สิทธิ์ไดเรกทอรีที่แนะนำคืออะไร
ฉันกำลังเตรียมที่จะปรับใช้ไซต์ Drupal 7 และฉันไม่สามารถหาเอกสารใด ๆ เกี่ยวกับสิ่งที่ควรคำนึงถึงความปลอดภัยของแฟ้มและการอนุญาตไดเรกทอรีที่แนะนำ โดยเฉพาะdefault/files/(ยังไดเรกทอรีย่อย?) settings.php, .htaccessและสิ่งอื่นที่ฉันควรจะตระหนักถึง
145 7  users  security  files 

14
แนวคิดพื้นฐานของ hooks คืออะไร?
ฉันเป็นสื่อกลางใน PHP เพื่อขัดเกลาทักษะของฉันฉันเริ่มเรียนรู้ Drupal 7 ในขณะที่เรียนรู้แนวคิดสถาปัตยกรรมของ Drupal คำว่าhooksและbootstrappingทำให้ฉันงงมาก ฉันอ่านหนังสือ "Pro Drupal development" และเอกสารบางอย่างเกี่ยวกับ drupal.org แต่มันก็เป็นขั้นสูงสำหรับฉันที่จะเรียนรู้วิธี hooks ทำงานใน Drupal เพื่อแสดงหน้าเว็บ ทุกคนสามารถบอกฉันได้ไหมว่า hooks อยู่ในคำง่าย ๆ ?

3
ดูชื่ออนุกรมวิธานการกรองตามบริบท
ฉันกำลังเพิ่มตัวกรองเชิงบริบทลงในมุมมองสำหรับประเภทเนื้อหาที่กำหนดเองที่มีฟิลด์อนุกรมวิธาน ตัวกรองเชิงบริบทช่วยให้ฉันสามารถกรองตาม id แท็ก taxonomy แต่ไม่ได้ใช้ชื่อแท็ก taxonomy ความหมายของแท็กที่กำหนดในอนุกรมวิธาน: 1 | test1 2 | another tag 3 | taggy ...... 99 | coolness ฉันสามารถสร้างตัวกรองเชิงบริบทที่จะแยก URL ที่ต้องการhttp://mydrupal/myview/3แสดงเนื้อหาทั้งหมดที่ถูกแท็กด้วยtaggyBUT URL ต้องผ่านอาร์กิวเมนต์เพื่อค้นหาด้วยชื่อแท็กแทนที่จะเป็นแท็กidเช่นhttp://mydrupal/myview/taggyเพื่อดูเนื้อหาทั้งหมดที่ติดแท็กด้วยtaggyวิธีสามารถ สามารถทำได้หรือไม่
106 7  taxonomy-terms  views 

1
ฉันจะใช้ hook_menu () ได้อย่างไร
พื้นฐานของการดำเนินการhook_menu()คืออะไร? ฉันต้องการที่จะเห็นข้อมูลพื้นฐานที่ครอบคลุมในคำถามเดียวเพื่อหลีกเลี่ยงการตอบคำถามที่คล้ายกัน แต่แตกต่างกันไปเรื่อย ๆ
103 7  routes 

7
อะไรคือข้อเสียของการใช้โค้ดตัวกรอง PHP ในบล็อก, โหนด, views-args ฯลฯ ?
ฉันเคยเห็นหลายครั้งที่คนบอกว่าไม่ใช้ตัวกรอง PHP / PHP แบบกำหนดเอง (จาก Drupal UI) ในบล็อกโหนดมุมมอง args กฎและอื่น ๆ ฉันค้นหารอบเล็กน้อยและไม่พบมากดูเหมือนว่า นี่เป็นแนวทางปฏิบัติที่ดีที่สุดของ Drupal ที่ทุกคน "รู้" ฉันเข้าใจว่ามันมีความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้นโดยเฉพาะอย่างยิ่งในมือของผู้ใช้หรือผู้ที่เพิ่งเริ่มใช้ Drupal หรือ PHP แต่ในฐานะนักพัฒนา / ผู้สร้างเว็บไซต์อะไรคือเหตุผลที่แท้จริงที่จะไม่ใช้ PHP แบบกำหนดเองจาก Drupal UI
96 security 

9
โมดูลที่ไม่เปิดใช้งานมีผลต่อประสิทธิภาพหรือไม่
มีโมดูล Drupal อยู่ แต่ไม่เปิดใช้งานมีผลกระทบต่อประสิทธิภาพของไซต์ Drupal หรือไม่ เพื่อนำไปใช้ในทางอื่น .. การลบโมดูลที่ถูกปิดการใช้งานจากไซต์ Drupal มีผลกระทบเชิงบวกต่อประสิทธิภาพหรือไม่
91 7  performance 

8
เมื่อใดจึงจะเหมาะสมในการสร้างเอนทิตีกับเพิ่งเพิ่มประเภทเนื้อหาใหม่
ประโยชน์ที่จะได้รับจากการสร้างประเภทเอนทิตีใหม่คือเพียงแค่สร้างประเภทเนื้อหาใหม่ ดูเหมือนว่าจะใช้เวลามากเกินไปในการทำรหัสที่กำหนดเองทั้งหมดซึ่งจำเป็นในการสร้างเอนทิตีใหม่เมื่อคุณมีฟังก์ชัน CRUD และมุมมองทั้งหมดที่มีอยู่แล้วในประเภทเนื้อหา
84 7  entities 



7
คำแนะนำสำหรับ settings.php - Local dev, เซิร์ฟเวอร์เพื่อการพัฒนา, เซิร์ฟเวอร์สด
โดยทั่วไปแล้วหนึ่งในคำถามที่ยิ่งใหญ่ที่สุดตลอดกาล: มีวิธีใดบ้างที่คุณใช้ settings.php ในขั้นตอนการพัฒนา / จัดเตรียมเวิร์กโฟลว์ ตอนนี้ฉันมีไฟล์ settings.php ของฉันตั้งค่าดังต่อไปนี้และฉันยึดการพัฒนาของฉันตามคำสั่ง $ HOST ของเซิร์ฟเวอร์ - หมายถึงฉันสามารถทำงานบน dev.example.com สำหรับเซิร์ฟเวอร์การพัฒนา (แชร์), local.example com สำหรับคอมพิวเตอร์ในพื้นที่ของฉัน (และการตรวจสอบรหัสท้องถิ่นอื่น ๆ ของ dev) และ www.example.com (หรือเพียงแค่ example.com) สำหรับไซต์สด (รหัสนี้อยู่ในส่วน 'การตั้งค่าฐานข้อมูล' ของ settings.php): $host = $_SERVER['HTTP_HOST']; $base_url = 'http://'.$host; $cookie_domain = $host; switch($host) { case 'example.com': # Production server $db_url …

14
มีวิธีใดในการเพิ่ม CSS สำหรับหน้า / โหนดเดียว
ฉันกำลังล้างสไตล์ชีตบ้าใหญ่ของฉัน (อาจเกี่ยวข้องกับคำถามในอนาคต) และฉันสงสัยว่าวิธีที่ดีที่สุดในการเพิ่ม CSS ที่กำหนดเองไปยังโหนดหรือหน้าเฉพาะ โดยเฉพาะอย่างยิ่งหน้าแรกของเว็บไซต์ทำงานของฉันคือหน้าจอพาเนลและมันมีสไตล์ที่แตกต่างกันออกไป ขณะนี้ CSS เพิ่งรวมอยู่กับสไตล์ชีตหลัก มีวิธีที่จะพูดว่า "ถ้าเป็นโหนด Foo แล้วเพิ่ม foo.css"? คือCSS Injectorสิ่งที่ฉันกำลังมองหา? ฉันอาจสนใจที่จะสรุปสิ่งนี้กับโหนด / ส่วน / อื่น ๆ อื่น ๆ แต่ในขณะนี้ฉันแค่ต้องการจัดการรายการนี้ สิ่งที่ฉันทำลงเอย ฉันใช้หัวข้อย่อย Zen และค้นพบจริง ๆ ในการอ่านผ่าน template.php ว่ามีความคิดเห็นรหัสสำหรับการรวมสไตล์ชีทตามเงื่อนไข โค้ดด้านล่างทำสิ่งที่ฉันต้องการอย่างแน่นอน: if (drupal_is_front_page()) { drupal_add_css(path_to_theme() . "/foo.css", 'theme','all'); } (บรรทัดที่ 80 ในไฟล์หุ้น template.php ของ Zen, FWIW)
79 7  theming  panels 

4
ฉันจะโหลดคอลเลกชันฟิลด์จากโหนดได้อย่างไร
ฉันมีโหนดที่มีการรวบรวมฟิลด์บางอย่าง เมื่อฉันดูnode_load()ผลลัพธ์ฉันเห็น: [field_rich_text_group] => Array ( [und] => Array ( [0] => Array ( [value] => 6 ) [1] => Array ( [value] => 7 ) [2] => Array ( [value] => 8 ) ) ) ฟังก์ชัน API ใดที่ฉันสามารถใช้เพื่อโหลดข้อมูลฟิลด์ที่มีอยู่ในคอลเลกชันที่มีเอนทิตีของ 6, 7, 8, ฯลฯ
72 7  entities 

8
ฉันจะปิดบังสิ่งที่ฉันใช้เพื่อเรียกใช้เว็บไซต์ของฉันได้อย่างไร
มีสิ่งใดที่ฉันสามารถทำได้เพื่อป้องกันไม่ให้ใครบางคนรู้ว่าไซต์ของฉันกำลังใช้ Drupal โดยดูที่ซอร์สโค้ดของหน้าแรกหรือไม่ ฉันหมายถึงผู้ที่สแกนไซต์โดยใช้ซอฟต์แวร์ที่ตรวจพบซอฟต์แวร์ที่ใช้ในการเรียกใช้เว็บไซต์เพื่อให้สามารถโจมตีไซต์นั้นได้โดยใช้จุดอ่อนที่ทราบ ถ้ามันเป็นไปไม่ได้ที่จะสมบูรณ์ซ่อนความจริงที่ว่าเว็บไซต์ที่มีการใช้ Drupal, มันเป็นอย่างน้อยไปได้ที่จะสร้างความสับสนให้พวกเขา (เช่นโดย aliasing หน้าโหนดที่มี URL ที่ชอบhttp://example.com/servlets/<node-id>.jsp)?
72 hooks 

3
เนื่องจาก db_select นั้นช้ากว่า db_query มากทำไมฉันถึงต้องการใช้มัน
สำหรับพื้นหลังเกี่ยวกับเรื่องนี้โปรดดูhttp://drupal.org/node/1067802 จากทั้งหมดนั้นมีสถานการณ์ใดบ้างที่ฉันอาจต้องการใช้ db_select () หรือฉันควรจะพึ่งพา db_query เพียงลำพัง?

5
“ ชื่อโฮสต์ที่ระบุไม่ถูกต้องสำหรับเซิร์ฟเวอร์นี้” หมายความว่าอย่างไร
ฉันใช้งานเว็บไซต์ Drupal 8 และเมื่อฉันเรียกดูหน้าใด ๆ ฉันจะได้รับหน้าขาวธรรมดาพร้อมข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อโฮสต์ที่ระบุไม่ถูกต้องสำหรับเซิร์ฟเวอร์นี้ สิ่งนี้หมายความว่า? ฉันจะแก้ไขได้อย่างไร
64 8 

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