Drupal

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

1
check_plain () เพียงพอหรือไม่
คือcheck_plain ()เพียงพอสำหรับอีกการแสดงข้อความที่ป้อนโดยผู้ใช้ในเบราว์เซอร์หรือควรฉันยังคงกรองที่มีfilter_xss () ?
16 security 

3
การตั้งค่า APC ที่ดีที่สุดเพื่อลดเวลาในการเรียกใช้เพจ
ฉันมี Drupal 7, apc พร้อม php-fpm และ apache ที่อยู่ด้านหลังวานิชและ RAM 512 เมกะไบต์ ฉันวัดเวลาดำเนินการเพจด้วยโมดูล devel เวลาแบบสอบถามฐานข้อมูลต่ำ (62ms) เมื่อเทียบกับเวลาดำเนินการหน้าซึ่งเป็น 854 ms นั่นหมายความว่ามีปัญหากับการตั้งค่า PHP และ APC การตั้งค่าปัจจุบันของฉันเป็นเพียง apc.shm_size = 64 apc.stat=1 ฉันจะปรับปรุงได้อย่างไร การตั้งค่าที่ดีที่สุดสำหรับ Drupal คืออะไรจากการกำหนดค่าข้างต้น ขอบคุณ
16 7  performance  caching 

12
ตั้งค่าเริ่มต้นรายการที่เลือกเลือก [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันมีรายการที่เลือกพร้อมตัวเลือก: $options = array(0 => '0', 500 => '500', 1000 => '1000'); ฉันกำลังพยายามตั้งเป็นค่าเริ่มต้นที่ 500: $form['price']['min']['#options'] = $options; $form['price']['min']['#default_value'] = 500; แต่มันไม่ทำงาน
16 forms 

7
โมดูลจะตรวจพบได้อย่างไรเมื่อหน้า“ ปฏิเสธการเข้าถึง” ถูกส่งออก?
เป็นไปได้อย่างไรที่โมดูลจะตรวจพบเมื่อ Drupal แสดงผลหน้า "การเข้าถึงถูกปฏิเสธ" ฉันรู้วิธีที่จะทำกับ Drupal 6; ฉันจำเป็นต้องรู้วิธีการใช้ Drupal 7
16 7 

1
ไฟล์เก็บถาวรดัมพ์สำหรับ Drush 9 อยู่ที่ไหน
ฉันติดตั้ง drush 9 (รีลีส dev ปัจจุบัน) ฉันไม่พบคำสั่งเก็บถาวร - ถ่ายโอนข้อมูลแม้จะมีเอกสารแนะนำว่าควรอยู่ที่นั่นก็ตาม ดำเนินการผลิต: ไม่พบคำสั่ง Drush 'archive-dump' ใช้ 'drush core-status' เพื่อตรวจสอบว่าพบ Drupal และทำการบูตสำเร็จแล้ว มองหา 'Drupal bootstrap: สำเร็จ' ในผลลัพธ์ ฉันสามารถยืนยันได้ว่าdrush core-status(หรือstatus) ระบุว่า Drupal ได้รับการบูตสำเร็จ ปัญหานี้เกิดขึ้นสำหรับสภาพแวดล้อมในท้องถิ่นและระยะไกลและบนเครื่องที่ติดตั้งอยู่ (ฉันได้ลองไปแล้ว 4 ครั้งซึ่งเป็นการผสมผสานระหว่างสภาพแวดล้อม MacOS และ Ubuntu) ฉันได้ไปไกลถึง grep drush รหัสสำหรับการกล่าวถึงการเก็บถาวรและรพช แล้วการถ่ายโอนข้อมูลเก็บถาวรหายไปไหน ถ้ามันถูกลบไปสิ่งที่จะทำต่อไปคืออะไร?
16 drush 

4
ตรวจสอบว่าผู้ใช้ล็อกอินในธีมหรือไม่
ใน Drupal 7 เราก็สามารถตรวจสอบว่าผู้ใช้ปัจจุบันถูกบันทึกไว้ในในรูปแบบโดยการตรวจสอบหรือการใช้$GLOBAL['user']->uiduser_is_logged_in() ฉันจะตรวจสอบว่าผู้ใช้เข้าสู่ระบบในเทมเพลตหน้าใน Drupal 8 ได้อย่างไร วิธีแก้ไขคือเช็คอินด้วยตนเองhook_preprocess_page()แต่เนื่องจากนี่เป็นที่นิยมมากฉันคิดว่า Drupal ให้บางสิ่งบางอย่างตามค่าเริ่มต้นสำหรับชุดรูปแบบ Twig
16 theming  8 

9
ฉันจะตั้งโลโก้ชุดรูปแบบได้อย่างไร
ฉันจะตั้งโลโก้ในธีมที่กำหนดเองใน Drupal 8 ได้อย่างไร ฉันเห็นว่า Drupal ค้นหาไฟล์ logo.svg ฉันมีไฟล์ PNG logo.png ที่ฉันใช้ใน Drupal 7 และฉันต้องการใช้อีกครั้ง ฉันไม่สามารถตั้งค่าโลโก้เป็นการตั้งค่าธีมเช่นเดียวกับใน Drupal 7 มีวิธีการผ่าน UI หรือรหัสที่กำหนดเองในชุดรูปแบบเพื่อตั้งโลโก้หรือไม่
16 8  theme-settings 

9
มีวิธีการขอล้างแคชหรือไม่
สำหรับเว็บไซต์ของสถาบันขนาดใหญ่ที่มีแคชจำนวนมากฉันต้องการสร้างแคชโดยเร็วที่สุดเพื่อไม่ให้ผู้ใช้มาถึงรุ่นแคช ... ฉันมีชุด cron ทุกนาทีที่ทำได้โดยการใช้งานฟังก์ชั่นบางอย่างและขอหน้าสำคัญ แต่สิ่งที่ฉันกำลังมองหาคือวิธีที่จะรู้ว่าเมื่อแคชเพิ่งจะถูกล้างโดยเฉพาะอย่างยิ่งตะขอดังนั้นฉันสามารถเปิดสิ่งนี้ สร้างฟังก์ชั่น ความคิดใด ๆ
16 7  hooks  caching 

3
ฉันสามารถใช้เบ็ดอะไรสำหรับการกระทำหลังบันทึก
ฉันพบหลายบทความพร้อมคำถามเดียวกันนี้ แต่คำตอบมักจะแตกต่างจากหัวข้ออื่น ๆ ไม่เช่นนั้นจะไม่ได้ผลสำหรับความต้องการของฉัน หลังจากบันทึกโหนดฉันต้องการให้โมดูลที่กำหนดเองของฉันแทรกแถวลงในหนึ่งในตารางที่กำหนดเองซึ่งมี nid ของโหนดใหม่ เมื่อhook_node_submitมีการเรียก nid ยังไม่มีอยู่ hook_node_insertมี nid แต่ถูกเรียกเพียงครั้งแรกที่โหนดถูกบันทึก แต่ฉันอาจต้องดำเนินการทุกครั้งที่มีการบันทึกโหนด แผนของฉันคือการแยกการทำงานของฉันออกเป็นวิธีการของตัวเองและใช้ทั้งสอง hooks แต่ฉันพยายามเรียนรู้ที่จะทำสิ่งต่าง ๆ กับ Drupal อย่างเหมาะสมดังนั้นฉันจึงสงสัยว่ามีตะขอที่ตรงกับความต้องการของฉันหรือไม่ มีตะขอซึ่งเรียกว่าทุกครั้งที่มีการบันทึกโหนดและเรียกว่าหลังจากการบันทึกเสร็จสมบูรณ์หรือไม่
16 7  hooks  nodes 

3
วิธีลบโปรแกรมออกจากโหนดโดยทางโปรแกรมหรือไม่
หนึ่งจะลบฟิลด์จากโหนดโดยทางโปรแกรมอย่างไร ฉันมีการย้ายhook_update_Nที่ย้ายเนื้อหาจากเขตข้อมูล aa ไปยังตารางที่กำหนดเอง หลังจากการโยกย้ายนั้นฉันต้องการลบเขตข้อมูลในฟังก์ชันเดียวกันนั้น มี API ฟิลด์ใดที่รองรับการลบฟิลด์หรือไม่ แก้ไข, แก้ไข : เนื่องจากคำตอบไม่มีรหัสจริงนี่คือสิ่งที่ฉันได้ย้ายเขตข้อมูลจากผู้ใช้ $ ไปยังบันทึกของตัวเองและจากนั้นลบเขตข้อมูลจากฐานข้อมูล; function my_module_update_7005(&$sandbox) { $slice = 100; //Fetch users from database; if (!isset($sandbox['progress'])) { $sandbox['progress'] = 0; $sandbox['current_uid'] = 0; // We'll -1 to disregard the uid 0... $sandbox['max'] = db_query('SELECT COUNT(DISTINCT uid) FROM {users}')->fetchField() - 1; …
16 7  entities  updating 

5
แสดงผลหรือพิมพ์ภาพใน drupal 7 node.tpl?
ฉันพยายามที่จะจัดรูปแบบโหนดด้วย tpl และเมื่อฉันพยายามที่จะพิมพ์ภาพฉันไม่สามารถหาเส้นทางของภาพเช่นใน d6 .. ฟังก์ชั่นที่ฉันต้องเรียกภาพออกอย่างถูกต้อง .. ฉันหมายถึงสิ่งที่ชอบชุดรูปแบบ ('')? Array ( [und] => Array ( [0] => Array ( [fid] => 13 [alt] => [title] => [width] => 416 [height] => 335 [uid] => 1 [filename] => Capture2.PNG [uri] => public://Capture2.PNG [filemime] => image/png [filesize] => 215377 [status] => 1 …
16 7  theming  media 

5
วิธีรับชื่อเส้นทางของหน้ามุมมองอย่างไร
ในตัวจัดการการส่งแบบกำหนดเองของฉันฉันต้องการเปลี่ยนเส้นทางไปยังหน้ามุมมอง Url สมมติว่าชื่อมุมมองของฉันคือทีมและเส้นทางของมันคือ/admin/teamฉันพบว่าฉันควรใช้$from_state->setRedirect('route');แต่เมื่อฉันลอง$from_state->setRedirect('/admin/team');ประสบข้อผิดพลาดฉันจะดูชื่อเส้นทางได้อย่างไร
16 views  8  routes 

3
ฉันจะรับ node ID จากนามแฝงพา ธ ได้อย่างไร
ฉันต้องการที่จะสามารถที่จะได้รับ nid แต่ข้อมูลเดียวที่ฉันมีเป็นhttp://example.com/this-is-the-alias มีวิธีที่จะได้รับเส้นทางภายในของ / node / * สำหรับนามแฝงว่าถ้าฉันไม่ได้อยู่ในหน้า? หรือมีวิธีที่จะได้รับหมายเลขจากนามแฝงนั้นทันทีหรือไม่
16 nodes  8  routes  path-aliases 

10
รับเงื่อนไขอนุกรมวิธาน
ฉันต้องการดึงคำศัพท์อนุกรมวิธานจากคำศัพท์บางคำใน Drupal 8 เห็นได้ชัดว่าฉันยังสามารถใช้งานได้taxonomy_get_treeแต่มันเลิกใช้แล้ว ตอนนี้ฉันต้องใช้TermStorageInterface :: loadTree ฉันพยายามเข้าถึงฟังก์ชั่นนี้จากBlockแต่ฉันไม่เข้าใจวิธีการยกตัวอย่างTermStorageInterfaceชั้นเรียน ฉันพยายามเข้าถึงฟังก์ชั่นโดยตรง แต่มันไม่ใช่ฟังก์ชั่นคงที่: TermStorageInterface::loadTree('categories') ฉันพยายามยกระดับชั้นเรียน แต่มันก็บอกฉัน Cannot instantiate interface Drupal\taxonomy\TermStorageInterface $test = new TermStorageInterface(); ฉันไม่เข้าใจว่าคลาสนี้ทำงานอย่างไรและฉันจะเข้าถึงลิงก์อนุกรมวิธานได้อย่างไร ฉันคิดว่าฉันขาดความเข้าใจส่วนใหญ่ไปแล้วว่า Drupal ทำงานอย่างไร
16 taxonomy-terms  8 

5
เวิร์กโฟลว์การอัพเดทคอร์ที่เป็นพื้นฐานของผู้แต่งคืออะไร?
ฉันต้องการใช้นักแต่งเพลงเพื่อจัดการการพึ่งพา Drupal 8 แต่ฉันไม่แน่ใจว่าเวิร์กโฟลว์การอัพเดทหลักที่ถูกต้องคืออะไร ในขณะนี้ฉันใช้ drush เพื่ออัปเดต core เป็นรุ่นเบต้าล่าสุด แต่ฉันยังมีการอ้างอิงบางอย่างในไฟล์ composer.json ของฉันดังนั้นหลังจากการอัปเดตฉันใช้การติดตั้งผู้แต่งเพื่อติดตั้งการพึ่งพาผู้ขาย contrib ทั้งหมด ปรากฏว่าการรันcomposer installแทนที่ไฟล์บางไฟล์ในไดเรกทอรีหลักแม้ว่าฉันเพิ่งจะอัพเดตรุ่นหลักเป็นรุ่นล่าสุด ฉันยังพยายามแก้ไขไฟล์ composer.json ด้วยตนเองและแทนที่บรรทัด "drupal / core" ด้วยรุ่นเบต้าเฉพาะเช่น"drupal/core": "~8.0-beta14",แต่มันยังแทนที่ไฟล์ในไดเรกทอรีหลัก เวิร์กโฟลว์ที่ถูกต้องคืออะไร?
16 drush  8  updating  composer 

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