Drupal

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

14
วิธีย้ายโมดูลที่ติดตั้งจาก / sites / all / modules / * ถึง / sites / all / contrib / modules / *
ฉันค้นหาคำตอบสำหรับคำถามนี้โดยไม่มีโชคเลย จากสิ่งที่ฉันสังเกตเห็นในโครงสร้างฐานข้อมูลที่ตั้งไปยังโมดูลที่ระบุไว้ในตาราง 'ระบบ' ทางออกเดียวที่ฉันมีคือการเขียนแบบสอบถาม SQL เพื่ออัปเดตคอลัมน์ 'ชื่อไฟล์' มีวิธีแก้ปัญหาที่ดีกว่า / ดีกว่าในการแก้ปัญหานี้เช่นโมดูล contrib หรือไม่?
34 7  installing 

4
วิธีรับ URL ฐานของไซต์
เว็บไซต์ของฉันอยู่บนhttp: //drupal8.local/ ฉันจะรับdrupal8.localส่วนหนึ่งของ URL นั้นได้อย่างไร Url::fromRoute('<'current'>')หรือbase_path()ส่งคืนส่วนเส้นทางของ URL; ตัวอย่างเช่นสำหรับhttp: //drupal8.local/a/b/c/d/e/fพวกเขากลับ ' เมื่อฉันเพียงต้องการที่จะได้รับ/a/b/c/d/e/f''drupal8.local' ฉันจะรับส่วนนั้นของ URL ได้อย่างไร
34 8  uri 

1
$ form_state ใช้ทำอะไร
$form_stateโดยทั่วไปจะใช้อะไรในบริบทของแบบฟอร์ม API หากใช้เป็นอาร์กิวเมนต์ โดยเฉพาะฉันกำลังมองหาตัวอย่างของเมื่อมีการใช้
33 forms 


7
ฉันจะป้องกันไม่ให้ Drupal เพิ่มข้อผิดพลาดในการแบ่งกลุ่มเมื่อใช้ Node.js ในกระบวนการทำงานได้อย่างไร
อาการ: คำสั่ง drush บางคำสั่งล้มเหลว หน้า Drupal บางหน้าว่างเปล่า คำสั่ง drush ที่ล้มเหลวรายงาน "ข้อผิดพลาดในการแบ่งกลุ่ม: 11" บันทึก Apache (เช่น php-error.log ใน MAMP) จะแสดงข้อผิดพลาดเดียวกัน พื้นหลัง: หากคุณใช้อึกเวิร์กโฟลว์หรือเสี้ยงฮึดฮัด - เพื่อรวบรวม SASS ของธีมของคุณ - คุณอาจพบปัญหาที่คำสั่ง drush โยนข้อผิดพลาดในการแบ่งเซ็กเมนต์ 11 เช่นเดียวกับ Apache ในขณะที่ให้บริการหน้า Drupal เป็นช่องว่าง (WSDs) สาเหตุที่เป็นไปได้ นี่เป็นเพราะไฟล์จากสภาพแวดล้อมของคุณgruntหรือgulpเวิร์กโฟลว์ใน node_modulesนั้นมีการลงทะเบียนอย่างผิดพลาดโดย Drupal ตัวเองเป็นตัวอย่างผลิตภัณฑ์drush cache-clear allสองอย่าง มีไฟล์. js เหล่านี้หลายสิบไฟล์และ Drupal ไม่สามารถจัดการกับมันได้ ... มันอาจจะเป็น …
33 theming  drush 

3
ฉันจะจัดกลุ่มองค์ประกอบในมุมมองได้อย่างไร
ฉันมีบทความ 8 บทความ: บทความ 1 (เกม), บทความ 2 (ข่าวท้องถิ่น), บทความ 3 (ข่าวโลก), บทความ 4 (ข่าวโลก), บทความ 5 (เกม), บทความ 6 (เกม), บทความ 6, บทความ 7, บทความ 8 ในมุมมองฉันต้องการจัดกลุ่มบทความโดย: "News," "Gaming," และ "Other" รวมโลกและข่าวท้องถิ่นไว้ในหมวดหมู่เดียวและย้ายสิ่งใดก็ตามที่ไม่มีหมวดหมู่ไปที่ "อื่น ๆ " ฉันไม่ต้องการสร้างคำศัพท์ใหม่สำหรับมุมมองนี้ ฉันพยายามทำสิ่งนี้ให้สำเร็จโดยใช้กลุ่มตามสาขา แต่ฉันไม่สามารถเข้าใจได้ว่าฉันจะทำสิ่งนี้ให้สำเร็จได้อย่างไรโดยใช้วิธีการนั้น
33 7  views 

6
แพตช์สำหรับ SA-CORE-2014-005 ชนิดใดที่การป้องกัน (Drupal 7.32) ป้องกัน?
อ่านบนhttps://www.drupal.org/node/2357241และรายละเอียดทางเทคนิคที่https://www.drupal.org/SA-CORE-2014-005รวมถึงแพทช์จริงซึ่งเป็นเพียง: diff --git a/includes/database/database.inc b/includes/database/database.inc index f78098b..01b6385 100644 --- a/includes/database/database.inc +++ b/includes/database/database.inc @@ -736,7 +736,7 @@ abstract class DatabaseConnection extends PDO { // to expand it out into a comma-delimited set of placeholders. foreach (array_filter($args, 'is_array') as $key => $data) { $new_keys = array(); - foreach ($data as $i => …
33 security 


6
ฉันจะอัพเดตการกำหนดค่าของโมดูลได้อย่างไร?
ฉันกำลังสร้างโมดูลที่กำหนดเองใน Drupal 8 ซึ่งมีไฟล์กำหนดค่า YAML บางไฟล์ ขณะที่ฉันพัฒนาฉันต้องเปลี่ยนและเพิ่มการกำหนดค่าเช่นเพื่อเพิ่มฟิลด์อื่นลงในเอนทิตีที่กำหนดเองของฉัน ในปัจจุบันวิธีเดียวที่ฉันได้รับ Drupal สังเกตเห็นการเปลี่ยนแปลงคือการถอนการติดตั้งโมดูลและติดตั้งใหม่ มีวิธีใดที่จะทำให้ Drupal ตรวจสอบว่าไฟล์ config ที่โมดูลจัดเตรียมไว้นั้นเหมือนกับการกำหนดค่าที่ใช้งานอยู่และถ้าไม่ให้อัพเดทการตั้งค่าที่ใช้งานอยู่ มีการจัดการปรับปรุงโมดูลอย่างไร ใน D7 hook_update_Nจะถูกใช้เพื่อเพิ่มฟิลด์โดยใช้ PHP แต่ดูเหมือนว่า CM นี้จะได้รับการจัดการโดย D8? สิ่งที่ฉันได้ลองหลังจากอัปเดตไฟล์ yml ในโมดูล: drush cr, กำหนดค่าการซิงค์ การคัดลอกไฟล์กำหนดค่าที่อัปเดตด้วยตัวเองทั้งหมดsites/default/files/config_XXX/staging/- แต่นี่ทำให้เกิดข้อผิดพลาดนี้"การกำหนดค่าแบบฉากไม่สามารถนำเข้าได้เพราะมันมาจากไซต์อื่นนอกเหนือจากไซต์นี้คุณสามารถซิงโครไนซ์การกำหนดค่าระหว่างอินสแตนซ์ . การอิมพอร์ตไฟล์ด้วยตนเองทีละคนโดยใช้ตัวจัดการการกำหนดค่า วิธีนี้ใช้ได้ผล แต่จะต้องมีวิธีอัตโนมัติมากกว่า [แก้ไข] ใช้โมดูลconfig_updateด้วยตนเองเพื่อตรวจสอบการเปลี่ยนแปลงและ 'เปลี่ยนกลับ' เป็นค่ากำหนดของโมดูล นี่เป็นคู่มืออีกครั้ง แก้ไข:จากการจัดการการกำหนดค่า - สิ่งที่ต้องทำและไม่ควรทำ DON'TS ลองเปลี่ยนการกำหนดค่าที่ใช้งานอยู่บนเว็บไซต์ของคุณโดยเปลี่ยนไฟล์ในไดเรกทอรี config / install ของโมดูล …

9
ฉันจะแสดงบล็อกโดยทางโปรแกรมได้อย่างไร
ฉันกำลังพัฒนาเว็บไซต์โดยใช้ Drupal 8 beta-14 ฉันได้สร้างบล็อคมุมมองของคำต่างๆและตอนนี้ฉันต้องการที่จะแสดงมันโดยใช้รหัส ฉันจะแสดงมันแบบเป็นโปรแกรมได้อย่างไร? ฉันเคยทำมันใน Drupal 7 โดยใช้รหัสนี้ แต่ฉันสับสนเกี่ยวกับ Drupal 8 $block = module_invoke('block', 'block_view', '4'); $text_block = render($block['content']);
33 8  blocks 

6
สร้างคำโดยทางโปรแกรมหรือไม่
ฉันพยายามที่จะเพิ่มคำศัพท์จำนวนมาก (~ 200) กับคำศัพท์ แต่ฉันไม่พบโมดูลการนำเข้าที่อัปเดตสำหรับ Drupal 8 และดูเหมือนว่าฟังก์ชั่นสำหรับการทำเช่นนี้ใน Drupal 7 ไม่มีอยู่ใน Drupal 8. ดังนั้นใครสามารถชี้ให้ฉันเห็นทิศทางที่ถูกต้องสำหรับการทำสิ่งนี้? ฉันพยายามที่จะทำด้วยentity_createตามที่แนะนำในความคิดเห็นด้วยรหัสนี้: $term_create = entity_create('taxonomy_term', array('name' => 'test', 'vocabulary_name' => 'client')); แต่ฉันได้รับข้อผิดพลาดนี้: Drupal\Core\Entity\EntityStorageException: Missing bundle for entity type taxonomy_term in Drupal\Core\Entity\FieldableEntityStorageControllerBase->create() (line 65 of core/lib/Drupal/Core/Entity/FieldableEntityStorageControllerBase.php). ความคิดใด ๆ
32 taxonomy-terms  8 

5
วิธีรับชื่อเทอมอนุกรมวิธานจาก tid
หลายสิ่งหลายอย่างของเรามีรูปแบบ uris site/taxonomy/XXที่ XX เป็นจำนวนเต็ม ผมพบว่าคำถามจำนวนมากเช่น "ซึ่งเป็นวิธีการที่จะได้รับ TID จากชื่อหรือไม่ " TIDแต่ฉันต้องการที่จะได้รับชื่อจาก ฉันพยายามรวบรวมสคริปต์เกล็ดขนมปังและทุกอย่างยอดเยี่ยมยกเว้นกรณีเหล่านี้ที่ฉันได้รับเส้นทางเช่น " home > term" ฉันอยากได้มันเหมือน " home > <TERM NAME>" ฉันจะทำเช่นนั้นได้อย่างไร
32 7  taxonomy-terms 


7
ฉันจะปิดข้อผิดพลาด PHP ได้อย่างไร
มีวิธีที่จะปิดเสียงข้อผิดพลาด PHP คำเตือนและการแจ้งเตือนทั้งหมดใน Drupal หรือไม่? พวกเขามีประโยชน์ในเว็บไซต์ devel แต่พวกเขามีความเสี่ยงด้านความปลอดภัยขนาดใหญ่และทำให้ไซต์ดูไม่ดีบนเว็บจริง ฉันรู้เกี่ยวกับ Drupal 6 หน้าผู้ดูแลระบบ / การตั้งค่า / การรายงานข้อผิดพลาดสามารถหยุด Drupal จากการเขียนข้อผิดพลาดไปที่หน้าจอ แต่ฉันจะหาสิ่งนี้ได้ใน Drupal 7 ดูเหมือนว่ามันจะหายไป
32 7 

5
ฉันต้องการงาน cron เพื่อประมวลผลคิวหรือไม่?
ฉันมีงานที่ต้องใช้เวลาดำเนินการประมาณ 45 นาทีและต้องเกิดขึ้นทุกวัน (เชื่อมข้อมูลผู้ใช้กับฐานข้อมูลภายนอกหลายแห่งและอื่น ๆ ) เพื่อจัดการงานฉันได้ตั้งค่าคิว cron ด้วยhook_cron_queue_info()ดังนี้ function mymodule_cron_queue_info() { $queues = array(); $queues['update_users_queue'] = array( 'worker callback' => '_mymodule_process_user_queue_item', 'time' => 120, ); return $queues; } ฉันเติมคิวโดยใช้ฟังก์ชั่นนี้: function mymodule_queue_all_users_for_synching() { //...query for users... $queue = DrupalQueue::get('update_users_queue'); foreach($users as $user) { $queue->createItem($user); } } ฟังก์ชั่นการกรอกคิวได้รับการเรียกว่าเป็นงาน cron ฉันใช้Elysia Cronดังนั้นการนำไปใช้ของฉันhook_cronapi()คือ: …
32 7  hooks  cron  queue 

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