Drupal

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


3
มีปัญหาอะไรบ้างถ้าฉันเปลี่ยน Mysql เป็น MariaDB? มีปัญหาเรื่อง Drush บ้างไหม?
ฉันมีไซต์Mysql drupal 7 จำนวนมากและฉันคิดว่าจะเปลี่ยนMysqlไปเป็นMariadbแต่ฉันไม่แน่ใจว่าปัญหาจะเกิดขึ้นกับฉันอย่างไร จากสิ่งที่ฉันกำลังอ่านMariadbดูเหมือนจะเป็นเพียงแค่การแทนที่Mysqlและดูเหมือนจะไม่ค่อยมีอะไรซับซ้อน ฉันสงสัยว่าMariadbจะส่งผลต่อคำสั่งdrushหรือไม่?
13 7  drush  database 

2
วิธีการใช้วันที่ mysql หรือเขตข้อมูลวันที่อย่างถูกต้องใน hook_schema ()?
ฉันเขียนไฟล์ mymodule.install ซึ่งมีข้อกำหนด schema เพื่อสร้างตารางในฐานข้อมูลของฉัน ตารางนี้มีสองเขตข้อมูล เขตข้อมูลเหล่านี้จะถูกเติมโดยผู้ใช้เมื่อพวกเขาจะเติมเนื้อหาเฉพาะ (ตัวอย่างเช่น: เพื่อระบุวันที่เผยแพร่สำหรับข่าว) ตอนนี้ฉันไม่ได้ใช้โมดูล Date ที่มีจุดประสงค์ทำให้ฉันต้องการให้ทั้งสองฟิลด์อยู่ในแถวเดียวกันในตารางฐานข้อมูลด้วยเหตุผลอื่น hook_schema กำหนดเขตข้อมูลทั้งสองด้วยวิธีนี้: 'pubblish_date' => array( 'description' => t('The pubblish date for the single news'), 'mysql_type' => 'datetime', 'not null' => FALSE, ), 'unpublish_date' => array( 'description' => t('The unpublish date for the single news'), 'mysql_type' => 'datetime', 'not …

5
ขนาดตารางฟอร์มแคชเป็นอย่างมาก
ขนาดของตารางแคชเพิ่มขึ้นเป็น 10+ GB เมื่อเดือนที่แล้วและฉันได้แก้ไขชั่วคราวโดยตัดทอน ครั้งล่าสุดที่ฉันตรวจสอบมันประมาณ 1GB ดังนั้นในอีกไม่กี่เดือนข้างหน้าก็จะถึง 10GB อีกครั้ง ควรจัดการกับสิ่งนี้อย่างไร? โปรดทราบว่าฉันได้ปิดการใช้งาน cron ทั้งหมดในเว็บไซต์นี้ หากนี่คือเหตุผลคุณควรเปิดใช้ cron ใด
13 database  caching 

7
การเปลี่ยนเนื้อหา breadcrumb
ฉันพยายามใช้เบ็ดนี้เพื่อแก้ไขลิงก์เกล็ดขนมปัง: hook_menu_breadcrumb_alter(&$active_trail, $item) ดูเหมือนว่าตะขอจะไม่ถูกเรียก ฉันได้พยายาม : การใช้เบ็ดในชุดรูปแบบ การใช้ขอเกี่ยวกับโมดูลที่กำหนดเอง (breadcrumb_finder_fix) การล้างแคชทั้งหมดด้วย Drush ฉันติดตั้งและเปิดใช้งานโมดูล Devel แล้วและสิ่งต่อไปนี้จะไม่สร้างผลลัพธ์ใด ๆ function breadcrumb_finder_fix_menu_breadcrumb_alter(&$active_trail, $item) { drupal_set_message(krumo($active_trail)); } ความคิดใด ๆ เส้นทาง? กรุณาแนะนำ OBS: ฉันได้อ่านคำตอบนี้: /drupal//a/7659/12647
13 7  hooks  breadcrumbs 

2
วิธีปิดการใช้งานคำศัพท์ใหม่ (ติดแท็กฟรี) ด้วย Taxonomies
ฉันมีฟิลด์ "การอ้างอิงคำศัพท์" ในรูปแบบที่ใช้วิดเจ็ตเติมข้อความอัตโนมัติ ฉันต้องการ จำกัด การป้อนข้อมูลของผู้ใช้กับคำศัพท์ในคำศัพท์เท่านั้นและส่งข้อความเมื่อผู้ใช้พยายามป้อนคำที่ไม่มีอยู่ ฉันพบโมดูลอนุกรมวิธานเนื้อหา อย่างไรก็ตามสิ่งนี้ไม่ทำงานกับแบบฟอร์มที่มีการรวบรวมเขตข้อมูลหรือกลุ่มเขตข้อมูล นอกจากนี้ยังมีส่วนร่วมในแพทช์1078878-DisableAutoCreation-D7-UTF-8.patch แต่ฉันสงสัยว่ามีวิธีแก้ปัญหาที่ง่ายกว่า / สะอาดกว่าเช่นโมดูลหรือฉันอาจพลาดวิธีที่มีอยู่แล้วในการทำด้วย drupal และ taxonomy เวอร์ชันล่าสุด

5
จะปลดบล็อคบัญชีผู้ดูแลระบบของฉันเองหลังจากที่พยายามเข้าสู่ระบบล้มเหลว 5 ครั้งได้อย่างไร
ฉันป้อนรหัสผ่านผู้ดูแลระบบผิดมากกว่า 5 ครั้งดังนั้น Drupal จึงปิดกั้นรายการของฉัน ฉันเปลี่ยนรหัสผ่านผู้ใช้โดยตรงใน MySQL แล้วพยายามเข้าสู่ระบบ แต่ก็ยังไม่ทำงาน นอกจากนี้หากฉันคลิกลิงก์ขอรหัสผ่านใหม่ฉันจะไม่ได้รับอีเมล ฉันจะปลดบล็อคบัญชีของฉันได้อย่างไร
13 users 

2
แทนที่เทมเพลตฟิลด์ด้วยโมดูลที่กำหนดเอง
แทนการเพิ่มไฟล์ tpl (ในกรณีนี้ media-youtube-video.tpl.php) ให้กับธีม ฉันจะลบล้างเทมเพลตฟิลด์จากโมดูลที่กำหนดเองได้อย่างไร รวมถึงเมื่อใช้ฟิลด์ในมุมมอง
13 7  entities  theming 

7
ฉันจะเรียกฟังก์ชัน menu_rebuild ใน Drupal 7 ได้อย่างไร
ฉันต้องการเรียกใช้ฟังก์ชัน menu_rebuild ()แต่ฉันไม่แน่ใจว่าวางโค้ดไว้ตรงไหน ฉันไม่พบไฟล์update.phpที่ใดก็ได้ในอินสแตนซ์ในพื้นที่ของฉัน เหตุผลที่ฉันต้องการลองทำเช่นนี้คือฉันลบโหนดทั้งหมด แต่พวกเขายังคงปรากฏภายใต้โครงสร้างเมนู
13 routes  updating 

3
เป็นไปได้หรือไม่ที่จะรักษาคุณภาพของภาพเมื่อทำการอัพโหลดภาพ?
เป็นไปได้หรือไม่ที่จะรักษาคุณภาพของภาพเมื่อทำการอัพโหลดภาพผ่าน Drupal7? ตัวอย่างเช่นฉันถ่ายภาพนี้: http://f.cl.ly/items/0L3j21030C3O2A3x2w0b/thumb.jpg ฉันอัปโหลดโดยใช้ Imagefield ซึ่งไม่มีการตั้งค่าความละเอียดต่ำสุด / สูงสุดและดูเหมือนว่า: http://f.cl.ly/items/2B2q2a1H402T1Z1j3w2j/baboon-onesie-costume-thumb.jpeg ดังนั้นเราจึงเห็นการสูญเสียคุณภาพ จากนั้นจะแสดงโดยใช้มุมมองซึ่งปรับขนาดรูปภาพ (ซึ่งควรทำถ้า) มีขนาดใหญ่กว่า 190x280 (ซึ่งไม่ใช่) และตอนนี้ดูเหมือน: http://f.cl.ly/items/2n023q1Q331J3E2d3a3I/ ลิงบาบูน-onesie-เครื่องแต่งกายนิ้วหัวแม่มือ 1.jpeg ความแตกต่างของคุณภาพนั้นใหญ่มาก - มีการสูญเสียสีจำนวนมากและการสร้างสิ่งประดิษฐ์ที่รุนแรงรอบ ๆ ขอบภาพ การตั้งค่าภาพ GD มีคุณภาพ JPEG: 100% มีสิ่งใดบ้างที่สามารถทำได้เพื่อป้องกันการสูญเสียคุณภาพที่น่าหัวเราะนี้?
13 7  media 

2
วิธีเก็บเทมเพลต Views ด้วยโมดูลแทนธีม
ฉันได้สร้างเทมเพลตหลายมุมมองที่เก็บไว้ในไดเรกทอรีธีมที่ใช้งานอยู่ของฉันในปัจจุบัน ต้องการเก็บแม่แบบเหล่านี้ไว้ในไดเรกทอรีโมดูลของฉัน คำถามของฉันคือฉันจะนำไฟล์ชุดรูปแบบเหล่านี้ (ตัวอย่างเช่น views-view-field.tpl.php) ไปยังไดเรกทอรีโมดูลของฉันและให้พวกเขาเห็น Views ได้อย่างไร เมื่อดูที่โมดูล Views ฉันจะเห็นว่าเทมเพลตเริ่มต้นถูกเก็บไว้ในมุมมอง / ธีม แต่ฉันไม่เห็นวิธีการใช้งาน
13 views  theming 

3
แนวปฏิบัติที่ดีที่สุดในการอัพเกรดแกน Drupal คืออะไรโดยไม่ทำลาย Git repo และเว็บไซต์การผลิต
ฉันมีที่เก็บ Git ซึ่งรหัสทั้งหมดของฉันอยู่ในสาขาหลักและก่อนหน้านี้ฉันไม่สนใจไฟล์ Drupal ทั้งหมดดังนั้นฉันจึงแยกการแยกระหว่างรหัสที่ฉันเขียนไว้อย่างเข้มงวด (หรือปรับเปลี่ยนหรืออาจแก้ไข) และรหัส ที่สามารถสร้างขึ้นด้วย Drush หรืออะไรก็ตาม นี่เป็นกลยุทธ์ที่ดีจนกระทั่งฉันต้องอัพเกรด Drupal ฉันรู้ว่าฉันต้องการที่จะย้อนกลับไปถ้าสิ่งต่าง ๆ แย่ลงและมีเครื่องมืออะไรที่ดีกว่าการใช้ Git ในการทำเช่นนั้น ฉันคิดกับตัวเองว่านี่จะเป็นสถานการณ์ที่สมบูรณ์แบบสำหรับฟีเจอร์สาขาดังนั้นฉันจึงสร้างdrupal-7.14สาขาขึ้นมาเอง.gitignoreเพื่อที่จะเพิกเฉยต่อโค้ดและไฟล์การตั้งค่าทั้งหมดและให้ความสนใจกับไฟล์ที่เป็นส่วนหนึ่งของการติดตั้ง Drupal เท่านั้น อย่าแตะต้อง ฉันทำการอัปเกรดด้วยมือ (ดาวน์โหลด, คลายซิป, ไม่คัดลอก, คัดลอก), เรียงลำดับตามกรณีแนวเขตเช่น robots.txt และ. htaccess และเขียนทับ. gitignore ของ Drupal ด้วยตัวเอง ฉันแก้ไขการตั้งค่าบางอย่างที่ทำงานกับ 7.14 แต่ไม่ใช่กับ 7.15 เพื่อกู้คืนจากข้อผิดพลาด 500 และทุกอย่างก็ดูสมบูรณ์แบบ ฉันเปลี่ยนชื่อสาขาเป็นdrupal-7.15และกำลังจะไปอย่างมีความสุขในแบบของฉัน จนกว่าฉันจะรู้ว่าสิ่งที่ฉันทำโดยไม่ได้ตั้งใจ: ไฟล์ที่ก่อนหน้านี้ไม่ได้ติดตามโดยสาขาหลักของฉัน แต่ทิ้งไว้ในไดเรกทอรีการทำงานตอนนี้ถูกลบออกจากไดเรกทอรีการทำงานตอนที่ฉันเช็คเอาท์หลักเพราะพวกเขาไม่ใช่ไฟล์ที่ไม่ได้ติดตามอีกต่อไป! D'โอ้! ถ้าฉันรวมdrupal-7.15สาขากับอาจารย์ฉันจะเสียการแยกรหัส อาจมีวิธีในการแปลงสาขาเป็น submodule …

4
วิธีการส่งออก / นำเข้าทุกโหนดของประเภทเนื้อหาที่เฉพาะเจาะจง [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน8 เดือนที่ผ่านมา ฉันส่งออก / นำเข้าคำจำกัดความของประเภทเนื้อหาจากไซต์หนึ่งไปยังอีกไซต์หนึ่งโดยใช้โมดูลคุณลักษณะ ตอนนี้ฉันต้องการส่งออกโหนดทั้งหมดของประเภทเนื้อหานั้นและนำเข้าพวกเขาในเว็บไซต์อื่น ฉันจะทำสิ่งนี้ได้อย่างไร

4
ฉันจะรับ URL ดิบเป็นฟิลด์ใน Views ได้อย่างไร
ในมุมมองฉันต้องส่งคืน url ดิบที่มีให้เป็นค่า href ไปยังฟิลด์ชื่อ (เมื่อเป็นลิงค์) หรือค่า Content: ลิงค์ ฉันคิดว่าเดิมฉันสามารถเลือกเนื้อหา: ลิงค์และตัด HTML ในการเขียนใหม่ แต่ไม่ต้องไป ฉันต้องการ URL แบบเต็มเพื่อที่ฉันจะได้ผ่านเป็นพารามิเตอร์ในการเขียนฟิลด์ใหม่ คิดว่าจะทำอย่างนี้ได้อย่างไร?
13 7  views  entities 

5
ลบรายการหนึ่งโดยทางโปรแกรมจากเขตข้อมูลหนึ่งโดยทางโปรแกรมหนึ่ง
วิธีใดที่เหมาะสมในการลบรายการฟิลด์หนึ่งรายการสำหรับฟิลด์หลายรายการโดยทางโปรแกรม (นั่นคือฟิลด์เฉพาะและเอนทิตีเฉพาะไม่ใช่ประเภทฟิลด์หรืออินสแตนซ์และประเภทเอนทิตี) นี่คือความเป็นไปได้บางอย่างที่ฉันได้พิจารณาแล้วว่าไม่ได้ผล: โหลดนิติบุคคลที่มีentity_load()การตั้งค่ารายการสนาม = โมฆะหรือ = array () field_attach_update()แล้วประหยัด มันเป็นเรื่องที่ใกล้เคียงที่สุดที่ฉันได้พบ แต่ใบรายการฟิลด์ผีดิบ null ในฐานข้อมูลซึ่งแสดงให้เห็นถึงเป็นแถวว่างเปล่าในรูปแบบจนกว่าฟอร์มถูกบันทึกไว้และhook_field_is_empty()สามารถเตะใน ( hook_field_is_empty()มีการกำหนดค่าดังกล่าวว่า = โมฆะหรือ = array () จะธง ว่างเปล่า) โหลดนิติบุคคลที่มีentity_load(), unsetting field_attach_update()รายการข้อมูลโดยคีย์แล้วประหยัด ดูเหมือนว่าจะไม่ทำอะไรเลย - ดูเหมือนว่า Drupal จะตีความรายการที่ไม่ได้มีไว้เป็นสัญญาณเพื่อไม่แก้ไข (แปลกบางครั้งฉันยังได้รับเวลาหมดเวลาสอบถามสูงสุดเมื่อลองวิธีนี้) field_attach_delete() - นี่มันทื่อมากเกินไป: มันฆ่าทุกฟิลด์สำหรับเอนทิตี field_purge_data() - ดีกว่า แต่ก็ยังทื่อเกินไป: มันฆ่ารายการทั้งหมดของฟิลด์ไม่ใช่เฉพาะรายการ เพื่อชี้แจงฉันได้รับรหัสที่พบ (และโหลด) เอนทิตีที่มีฟิลด์ที่มีหลายรายการและค้นหารายการเฉพาะในฟิลด์นั้นที่จำเป็นต้องลบออก ฉันต้องการลบรายการนั้นอย่างสมบูรณ์โดยไม่ต้องแตะรายการอื่นใดหรือฟิลด์อื่น ๆ ในเอนทิตี
13 7  entities 

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