Drupal

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


2
วิธีกำจัดปัญหาการพิมพ์ Deadlocks และ Lock time out
ฉันอ่านบล็อกหลายอันพยายาม google แต่ก็ไม่พบความพึงพอใจจากโซลูชันใด ๆ ฉันมีปัญหาต่อไปนี้: PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction: DELETE FROM {cache_field} WHERE (cid LIKE :db_condition_placeholder_0 ESCAPE '\\') ; Array ( [:db_condition_placeholder_0] => field\_info:% ) in cache_clear_all() (line 163 of \includes\cache.inc). PDOException: SQLSTATE[HY000]: General error: 1205 Lock wait timeout …


8
ฉันจะหาเส้นทางพื้นฐานได้อย่างไร
ฉันต้องการใช้พา ธ ฐานในไฟล์เท็มเพลต Drupal 8 ฉันลองสิ่งต่อไปนี้ แต่ฉันไม่ได้ผลลัพธ์ที่ถูกต้อง {{ app.request.baseUrl }} {{base_path}} {{ app.request.baseUrl }}/{{ url }}สิ่งที่ฉันต้องการก็คือเส้นทางสัมบูรณ์ไปยังโหนด ทางออกหนึ่งที่ฉันพบคือการวางโค้ดนี้ลงในเบ็ดการประมวลผลล่วงหน้าและส่งผ่านไปยังธีม $host = \Drupal::request()->getHost(); $response = \Drupal::httpClient() ฉันกำลังมองหาทางออกที่ดีกว่า ฉันควรใช้อะไรแทนที่จะใช้ที่ฉันกำลังใช้
16 theming 

3
แสดงข้อความธรรมดาเป็น HTML ใน Drupal 8 twig
ฉันพบกำแพงที่พยายามแสดงรหัสมาร์กอัปภาพ svg เป็น html จากช่องข้อความธรรมดา ฉันต้องการแสดงรหัส svg จากช่องข้อความธรรมดาโดยไม่ต้องแทนที่ช่องข้อความธรรมดาที่แสดงทุกที่อื่น รูปแบบข้อความธรรมดาในปัจจุบันแปลง HTML แท็กและ <> < >เพื่อ ฉันสร้างเทมเพลตฟิลด์และลองทั้งการแสดงผลเนื้อหาฟิลด์เป็น {{ item.content.context.value }} และ {{ item.content|raw }} ทั้งแสดงค่าเป็นสตริงการห่อทุกบรรทัดด้วย "เครื่องหมายคำพูด" และการแปลงตัวแบ่งบรรทัดเป็น<br/>แท็ก ก่อนหน้านี้ฉันมีข้อความที่จัดรูปแบบประเภทฟิลด์ แต่มันก็รวมทุกอย่างไว้ใน<pre>แท็กแม้ว่าจะอนุญาตให้ใช้แท็กทั้งหมดได้ก็ตาม ฉันต้องการให้มันทำงานกับข้อความธรรมดา ตัวอย่างของ svg-code ที่เขตข้อมูลต้องเก็บในรูปแบบข้อความ: <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 290 290" enable-background="new 0 0 290 290" xml:space="preserve"> <g> <path …
16 8  theming 

7
ไม่รวมการกำหนดค่าจากการนำเข้า / ส่งออก
ฉันคิดว่านี่เป็นกรณีการใช้งานที่ง่ายของระบบจัดการการกำหนดค่าใหม่ แต่ฉันไม่มีโชคในการหาวิธีแก้ปัญหานี้: ปัญหา ฉันต้องการเก็บการกำหนดค่าใน git และใช้ drush เพื่อส่งออกการกำหนดค่าในระหว่างการพัฒนาและจากนั้นในการปรับใช้การนำเข้าการกำหนดค่า ค่อนข้างคล้ายกับการทำคุณสมบัติย้อนกลับใน Drupal 7 ปัญหาของฉันคือฉันไม่ต้องการเก็บรหัสการเข้าถึงในคอมไพล์สำหรับการผสานรวมที่หลากหลาย ซึ่งส่งผลให้การกำหนดค่าเหล่านี้ถูกลบ $ drush cim -y ที่ฉันดู ฉันหวังว่าจะมีรายการ / การกำหนดค่าอย่างง่ายสำหรับการกำหนดค่าที่ควรยกเว้นในการนำเข้า / ส่งออก ดูเหมือนว่าจะมีบางจุด แต่มันจะต้องถูกลบออกอีกครั้งเนื่องจากมีวางจำหน่ายในปัจจุบัน Drupal 8 ฉันตรวจดูว่ามีการเปลี่ยนแปลงการกำหนดค่าอย่างไรเมื่อเปรียบเทียบการใช้งานและซิงค์การจัดเก็บข้อมูลเพื่อดูว่ามีสถานที่ที่ฉันสามารถลบการเปลี่ยนแปลงได้หรือไม่ดูเหมือนจะไม่เป็นเช่นนั้น ฉันดูว่า drush นำเข้าการกำหนดค่าอย่างไรเนื่องจากมีการกำหนดค่าบางอย่างแยกออกมาเป็นของตัวเอง แต่มันก็ไม่ได้ดูเหมือนว่าสิ่งนี้จะขยายออกไปได้ ฉันดูConfigEventsแต่สิ่งเหล่านี้ดูเหมือนจะเกิดขึ้นหลังจากการนำเข้าดังนั้นจึงไม่สามารถใช้สิ่งนี้ได้ ฉันทำบางสิ่งขาดหายไปหรือไม่สามารถแยกการกำหนดค่าออกจากการนำเข้า / ส่งออกได้


9
ฉันจะลบรายการออกจากรายการค่าที่อนุญาตของฟิลด์เลือกที่มีข้อมูลสำหรับค่าได้อย่างไร
ฉันสร้างประเภทเนื้อหาที่มีฟิลด์รายการ / เลือกตัวเลือกแล้วฉันได้ป้อนคู่คีย์ | ค่าตามที่จำเป็นเพื่อให้รายการเลือกทำงาน มีการป้อนข้อมูลและมีการตัดสินใจว่าจะไม่ใช้ข้อกำหนดบางอย่างอีกต่อไปและควรลบทิ้ง อย่างไรก็ตามเมื่อพยายามลบคำดังกล่าวฉันได้รับข้อผิดพลาดต่อไปนี้: Allowed values list: some values are being removed while currently in use. เห็นได้ชัดว่าในชีวิตของโครงการค่าจะเปลี่ยนไป การลบไอเท็มในทางปฏิบัติเมื่อโหนดเชื่อมโยงกับข้อกำหนดที่ระบุไว้คืออะไร นี่เป็นเรื่องที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้: https://drupal.org/node/1653012 มันอ้างอิงปลั๊กอิน d6 และแพทช์ที่มีเล่ห์เหลี่ยมบางอย่างที่ฉันไม่ต้องการใช้ หากในที่สุดฉันต้องใช้แพทช์เพื่อลบการตรวจสอบความถูกต้องในฟิลด์นั้นในที่สุดจะมีอันตรายในการทิ้งรายการเหล่านั้นไว้บนโหนดที่พวกเขาเกี่ยวข้องหรือไม่ อัปเดตฉันพบปัญหานี้อีกครั้งกับลูกค้ารัฐบาลซึ่งในช่วง 7 ปีที่ผ่านมาที่มีเว็บไซต์ Drupal นั้นมี 50 รัฐและดินแดนในรายการที่เลือก ตอนนี้นโยบายมีการเปลี่ยนแปลงและไม่จำเป็นต้องรวมดินแดนอีกต่อไป ความสามารถในการลบรายการออกจากรายการที่เลือกมีความสำคัญและทำให้ฉันได้รับรางวัล ฉันกำลังมองหาโซลูชันที่ปลอดภัยเพื่อให้สามารถลบรายการออกจากรายการที่เลือก สิ่งที่ฉันไม่รู้คือถ้าโซลูชันนั้นควรอัปเดตโหนดใด ๆ เนื่องจากฉันไม่แน่ใจว่าวิธีการเก็บค่าฟิลด์ที่สัมพันธ์กับเนื้อหาทั้งหมดของโหนด ฉันมีความสุขกับการแก้ปัญหา SQL บริสุทธิ์เพื่อให้ทำงานใน MySQL; หรือฉันกำลังมองหาโมดูล
16 7  entities 

3
จะดีบัก EntityMalformedException อย่างไร
ฉันมีข้อผิดพลาดร้ายแรงEntityMalformedException: ไม่มีคุณสมบัติบันเดิลในเอนทิตีของโหนดประเภท ใน entity_extract_ids () (สาย 7700 ของ. \ รวมถึง \ common.inc) เมื่อพยายามที่จะเข้าถึงผู้ใช้ / xyz ฉันพยายามดึงข้อมูลเกี่ยวกับโหนดที่มีรูปแบบไม่ถูกต้องที่บรรทัด 7700 ซึ่งมีการสร้างข้อความแสดงข้อผิดพลาดคิดว่า: if (!isset($entity->{$info['entity keys']['bundle']}) || $entity->{$info['entity keys']['bundle']} === '') { dpm($info);// or dpm($entity); throw new EntityMalformedException(t('Missing bundle property on entity of type @entity_type.', array('@entity_type' => $entity_type))); } dpm($entity) ส่งคืนวัตถุผู้ใช้ที่ไม่คาดคิดและ $ info เป็นจำนวนมาก มีใครบางคนทำให้ฉันในทางที่ถูก? …

4
คุณใช้ตัวจัดการการส่งแบบกำหนดเองใน hook_form_alter () ได้อย่างไร
ฉันได้อัปเดตหนึ่งในโมดูล Drupal 7 เป็น 8 และฉันมีปัญหากับการเปลี่ยนแปลงแบบฟอร์มของฉัน ฉันกำลังเพิ่มฟังก์ชั่นการตรวจสอบความถูกต้องและตัวจัดการการส่ง ฟังก์ชั่นการตรวจสอบความถูกเรียกว่าใช้ได้ แต่ฟังก์ชั่นส่งไม่เริ่มทำงาน ฉันสงสัยว่าสิ่งนี้หมายความว่ามีวิธี Symfony สไตล์ที่ต้องดำเนินการเพื่อเพิ่มตัวจัดการการส่งไปยังแบบฟอร์มที่มีอยู่ ฉันทำการค้นหาจำนวนมากและไม่พบตัวอย่างใด ๆ เลย ยังดูถึงโมดูล D8 ที่กำลังทำงานอยู่บางส่วน แต่ฉันไม่พบตัวอย่างการทำงานที่นั่นด้วยเช่นกัน ไม่มีใครมีความคิดใด ๆ ว่าวิธีที่ถูกต้องของ Drupal 8 คืออะไร?
16 forms  8 

5
Drush ต้องการระดับ bootstrap ที่สูงขึ้นเพื่อให้ทำงานได้
คุณมีความคิดเกี่ยวกับสิ่งที่อาจทำให้เกิดข้อผิดพลาดนี้เมื่อฉันรัน: drush si geoslate --db-url='mysql://root:root@localhost/geoslate' --site-name=Geoslate คำสั่งการติดตั้งไซต์ต้องการระดับ bootstrap ที่สูงกว่าในการรัน - คุณจะต้องเรียกใช้จากสภาพแวดล้อม Drupal ที่ใช้งานได้มากกว่าเพื่อรันคำสั่งนี้ คำสั่ง drush 'si vimn_geoslate' ไม่สามารถดำเนินการได้ ไม่พบไดเรกทอรีการติดตั้ง Drupal ?
16 drush 

3
ฉันจะโพสต์โหนดใหม่ได้อย่างไร
ฉันได้อ้างถึงลิงก์จำนวนมากรวมถึงลิงค์ต่อไปนี้: โมดูลบริการ วิธีสร้างข้อมูล JSON ด้วยข้อมูลเซสชันสำหรับสร้างโหนด? GitHub - การสร้างโหนดโดยใช้บริการ 6.3 REST ฉันลองหลายวิธีในการโพสต์โหนดใหม่ไปยังไซต์ Drupal แต่ฉันล้มเหลว ฉันสร้าง CCK ตัวอย่างสำหรับเก็บข้อมูลนักเรียนด้วยชื่ออายุเพศ DOB และเพิ่มบางรายการ ฉันได้ติดตั้งและกำหนดค่าโมดูลบริการ (D7) แล้วและสร้างจุดสิ้นสุดบริการที่บริการ ตามที่คาดไว้ GET เป็นวิธีที่ง่ายที่สุดในการรับรายละเอียดของโหนดใน JSON http://localhost/drupal/services/nodeเพียงแค่รายการโหนดทั้งหมด ฉันยังไม่สามารถหาวิธีใช้วิธีการPOSTได้ ฉันต้องการจะค้นหาสำหรับนักเรียนที่มีชื่อมีจอห์น ฉันพยายามlocalhost/drupal/services/node&node[name]=johnแล้ว ฉันใช้ ปลั๊กอินPOST Manสำหรับ Chrome โดยไม่สำเร็จ ฉันลองวิธีอื่นด้วย ฉันพยายามเพิ่มนักเรียนใหม่ในเว็บไซต์โดยไม่ประสบความสำเร็จ ใครช่วยแนะนำให้ฉันทำงานข้างต้นได้ดี อัปเดต: ฉันพยายามเพิ่มโหนดประเภทบทความใหม่ มันใช้งานได้ดี แต่เมื่อฉันพยายามเพิ่มโหนดประเภทกรม CCKมันแสดง " s: 22:" การตรวจสอบ CSRF ล้มเหลว "; " …
16 services 

2
มุมมองตัวกรองที่เปิดเผยโดยไม่ใช้ปุ่ม“ นำไปใช้”
ฉันสร้างมุมมองพร้อมตัวกรองแบบเปิดเผยของรายการคำที่เลือก ฉันจะทำให้รายการที่เลือกทำงานโดยตรงในการเลือกรายการได้อย่างไรแทนที่จะคลิกที่ปุ่ม "ใช้"
16 7  views 

1
วิธีการใช้“ ผู้ใช้เข้าสู่ระบบ” เป็นอาร์กิวเมนต์การเข้าถึงสำหรับ MENU_CALLBACK?
ฉันต้องการให้ผู้ใช้ลงชื่อเข้าใช้เพื่อเข้าถึง MENU_CALLBACK เฉพาะ การทำงานต่อไปนี้ แต่สำหรับบัญชีผู้ดูแลระบบเท่านั้น ผู้ใช้ทั่วไปยังคงถูกปฏิเสธการเข้าถึง: 'access arguments' => array('user_is_logged_in') จะต้องมีการโต้แย้งการเข้าถึงที่เพิ่งตรวจสอบผู้ใช้รับรองความถูกต้อง?
16 users  routes 

5
รวมถึงรุ่น jQuery ที่แตกต่างกันเฉพาะในหน้าเฉพาะ
โมดูลอัพเดต jQuery รวมถึงสคริปต์นี้ <script type="text/javascript" src="/sites/all/modules/jquery_update/replace/jquery.min.js?6"></script> ฉันต้องการสิ่งนี้ในทุก ๆ หน้ายกเว้นไฟล์เทมเพลตบางตัวที่ฉันใช้กล่องแฟนซีและต้องการ jQuery รุ่นที่ใหม่กว่า ฉันจำเป็นต้องแยกการอัปเดต jQuery ออกจากการวางสคริปต์ด้านบนใน$scriptsตัวแปรเฉพาะบน page-media-photos.tpl.php ฉันจะบรรลุสิ่งนี้ได้อย่างไร
16 6  javascript 

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