Drupal

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

2
รับเส้นทางที่แท้จริงของไฟล์
ฉันกำลังสร้างโมดูลการอ่าน Excel ใน Drupal 8 ฉันต้องการได้รับเส้นทางที่แท้จริงของไฟล์สำหรับการอ่านจากเส้นทางเหมือนสาธารณะ: //2016-03/Paces.xls ฉันควรใช้ฟังก์ชั่นใดเพื่อให้ได้พา ธ ที่แท้จริงของไฟล์
11 8  files 

9
ฉันจะตรวจสอบอย่างถูกต้องว่าภูมิภาคว่างเปล่าอย่างไร [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน8 เดือนที่ผ่านมา ฉันมีเงื่อนไขสำหรับการพิมพ์พื้นที่ในเทมเพลตของเพจเนื่องจากไม่ว่างเปล่าแต่จะพิมพ์พื้นที่ว่างเสมอไม่ว่าจะเกิดอะไรขึ้น วิธีที่เหมาะสมในการตรวจสอบพื้นที่ว่างเปล่าคืออะไร? ตัวอย่างเช่นพิมพ์ออก{% if page.local_tasks is not empty %}{{ page.local_tasks }}{% endif %}<div class="region region-local-tasks"></div> หากฉันแสดงพื้นที่themename_preprocess_page()ด้วยvar_dump(drupal_render($variables['page']['highlighted']));ฉันจะได้รับ SafeString พร้อมโทเค็นตัวยึด: <div class="region region-highlighted"><drupal-render-placeholder callback="Drupal\Core\Render\Element\StatusMessages::renderMessages" arguments="0" token="a8c34b5e"></drupal-render-placeholder></div> ดังนั้นในทางเทคนิคพื้นที่ไม่ว่างเปล่า แต่ฉันไม่สามารถทำอะไรได้
11 8  theming 

4
รับพี่น้องลิงค์เมนู
ฉันกำลังพยายามสร้างเมนูใน Drupal 8 ที่เป็นเพียงลิงค์พี่น้องของหน้าปัจจุบัน ดังนั้นหากเมนูคือ: บ้าน ผู้ปกครอง 1 sub-parent 1 เด็ก 1 ผู้ปกครองย่อย 2 เด็ก 2 เด็ก 3 เด็ก 4 พ่อแม่ 2 เมื่อฉันอยู่ในหน้า "เด็ก 3" ฉันต้องการบล็อกเมนูเชื่อมโยงเพื่อให้มีลักษณะเช่นนี้: เด็ก 2 เด็ก 3 เด็ก 4 ฉันรู้วิธีการทำสิ่งนี้ใน D7 ฉันคิดว่า แต่ฉันมีความยากลำบากในการแปลความรู้นั้นเป็น D8 นี่เป็นสิ่งที่สามารถทำได้ใน D8 หรือไม่? และถ้าเป็นเช่นนั้นใครบางคนสามารถชี้แนะทิศทางที่ถูกต้องให้ฉันได้ ขอบคุณ! Clarification: ระดับลูกจำเป็นต้องแปรเปลี่ยนเพื่อให้รายการเมนูที่มีความลึกต่างกันสามารถแสดงพี่น้องได้ ตัวอย่างเช่นนอกเหนือจากการต้องการเมนูสำหรับเด็กฉันต้องมีเมนูสำหรับผู้ปกครองย่อยและเมนูสำหรับผู้ปกครองเป็นต้น ฉันยังไม่สามารถควบคุมได้ / รู้ว่าเมนูจะลึกแค่ไหนและถ้ามันลึกลงไปในทุกส่วน
11 8 

1
อย่างไรและเมื่อใดที่จะใช้ filter_xss () และ check_plain ()
มีไฟล์เทมเพลตมากมายเช่นนี้views-view-fields--magazine--magazine.tpl.phpในเว็บไซต์ของฉัน ฉันควรใช้ filter_xss () และ check_plain () อย่างไรเพื่อปรับปรุงความปลอดภัย เช่นนี้เป็นรหัส: <div> <div class="bf-header bf-article-header"><?php print $fields['title']->content; ?></div> <div class="bf-article-body"><?php print $fields['field_magazine_body']->content;?></div> <div class="bf-article-image"><?php print $fields['field_magazine_image']->content;?></div> </div> <div class="separator article-view-separator"></div> ฉันจะใช้ฟังก์ชันเหล่านั้นได้อย่างไร
11 security 

2
วิธีการเปลี่ยนโหมดมุมมองโดยทางโปรแกรม?
ฉันต้องการเปลี่ยนโหมดการดูของโหนดโดยทางโปรแกรม ฉันใช้hook_preprocess_node(&$vars)และตั้งค่าโหมดดู: function moduleName_preprocess_node(&$vars) { // if conditions to apply particular view mode $vars['view_mode'] = 'teaser'; $vars['elements']['#view_mode'] = 'teaser'; } แต่สิ่งนี้ไม่ทำงานตามที่คาดไว้ ฉันทำอะไรบางอย่างหายไปหรือเปล่า
11 7  nodes  entities 

4
ข้อความสถานะด้วย AJAX
ฉันกำลังโทร AJAX ใน drupal 7 ผ่าน AJAX Framework มาตรฐาน ปัญหาของฉันคือเมื่อข้อความสถานะถูกตั้งค่าโดยการโทรกลับ AJAX มันจะหายไปเพียงแค่ (หรือแสดงที่โหลดหน้าถัดไป) ฉันจะแสดงข้อความสถานะได้ทันทีหลังจากที่ AJAX โทรกลับทำงานเสร็จแล้วโดยไม่ต้องโหลดหน้าซ้ำ มีโมดูลสำหรับสิ่งนั้นหรือไม่?

2
วิธีการลบแคชหลังจากอัพเดต / ลบ / เพิ่มเนื้อหาใหม่โดยใช้ hooks?
เรามีโมดูลบริการที่กำหนดเองและเว็บไซต์ใน Drupal 7 และฉันมีหน้าที่ลบแคชหลังจากที่ผู้แก้ไขเพิ่มเนื้อหาใหม่หรืออัปเดตเนื้อหาที่มีอยู่ ฉันได้อ่านเกี่ยวกับโมดูลที่เรียกว่าCache Actionsแต่อย่างที่ฉันพูดฉันต้องสร้างฟังก์ชันในโมดูลที่กำหนดเองของฉัน นอกจากนี้ฉันได้เริ่มอ่านเกี่ยวกับ Drupal hooks แล้ว แต่ก็ยังไม่รู้ว่าจะใช้งานได้อย่างไร ข้อเสนอแนะใด ๆ ขอบคุณ
11 7  hooks  caching 

1
การแปลมุมมอง: เนื้อหาสำหรับมุมมองกลุ่มข้อความไม่ได้รับอนุญาตให้แปลเนื่องจากรูปแบบข้อความ
ฉันมีปัญหานี้เมื่อมีส่วนหัวของมุมมองของฉัน ฉันได้รับอนุญาตให้ป้อนการแปล แต่ข้อความที่แปลแล้วจะไม่แสดงผลเมื่อมุมมองแสดงเป็นภาษานั้น ฉันมีคำเตือนต่อไปนี้ในอินเทอร์เฟซ Views: content for textgroup views is not allowed for translation because of its text format. ฉันอ่านข้อความอื่น ๆ ที่แนะนำให้ไปที่Configuration » Regional and language » Multilingual settingsและตรวจสอบว่าได้เลือกรูปแบบข้อความแล้ว โพสต์นี้กำลังแก้ไขปัญหาสำหรับบล็อกและมันไม่ได้แก้ปัญหาของฉัน ประสบการณ์หรือวิธีการแก้ไขที่คล้ายกัน? Drupal 7 - มุมมอง 3
11 views 

3
รับค่าเขตข้อมูลโดยไม่ต้องโหลดโหนดทั้งหมดหรือไม่
ฉันมี NID จำนวนมากและฉันต้องการค่าฟิลด์หนึ่งค่าจากแต่ละโหนด มีวิธีใดที่จะหลีกเลี่ยงโอเวอร์เฮดของการโหลดทั้งโหนดเพื่อรับค่าฟิลด์หนึ่งค่าหรือไม่?
11 7  entities 

3
ฉันจะแสดงลิงค์บริบทสำหรับบล็อกที่ฉันแสดงในรหัสของฉันได้อย่างไร
ฉันโหลดหัวเรื่องบล็อกและเนื้อหาด้วยmodule_invoke()และใช้render()สำหรับการแสดงผล ฉันต้องการใช้ลิงก์เชิงบริบทสำหรับบล็อกนี้ ฉันจะแสดงมันได้อย่างไร นี่คือรหัสที่ฉันใช้ insde หน้า - front.tpl.php แม่แบบ $block = module_invoke('block', 'block_view', '4); print render($block); ฉันควรใช้รหัสใดแทน
11 7  blocks 

3
Drush Make ลบโฟลเดอร์. git
หลังจากความรู้สึกโง่ ๆ กับยี่ห้อ drush และ githubฉันพบว่าโฟลเดอร์. git ทั้งหมด (ใช้โดย git เพื่อบันทึกประวัติ config ตำแหน่งต้นทางเป็นต้น) ถูกเอาออกโดย drush make และฉันเคยได้ยินเรื่องนี้มาก่อน แต่ไม่เจอ ตัวเองเพราะฉันไม่ได้ดูแลไฟล์สร้าง make drush โดยเฉพาะจะลบโฟลเดอร์. git และคุณจะเห็นว่าหากคุณเรียกใช้ด้วยตัวเลือก --debug Executing: rm -rf '/tmp/drush_make_tmp_1305733094/__git__/__build__/.git' ในไฟล์ทำของฉันฉันกำลังดึง 4 สิ่งจาก git repo เพราะฉันต้องการติดตามการพัฒนาพวกเขา 2 ในนั้นคือองค์ประกอบที่กำหนดเองของฉัน (1 โมดูลที่กำหนดเองและ 1 คุณสมบัติที่บันทึกการตั้งค่าทั้งหมด) และ drupal core และโมดูลสื่ออื่น ๆ เพื่อแก้ไขปัญหาที่พวกเขาได้รับในปริมาณมาก ดูเหมือนว่าจุดประสงค์ทั้งหมดจะพ่ายแพ้ถ้าฉันไม่สามารถมีโฟลเดอร์. git ที่เกี่ยวข้องได้ …

4
วิธีเรียกใช้ซ้ำ hook_post_update_NAME ()
Drupal 8 แนะนำhook_post_update_NAME()ซึ่งมีประโยชน์บางอย่างhook_update_nสำหรับการปรับปรุงโมดูล แต่ละคนhook_post_update_NAME()ควรรันเพียงครั้งเดียว แต่บางครั้งฉันต้องการรันซ้ำเช่นเมื่อฉันทำการดีบัก hook การอัพเดทในระหว่างการพัฒนา ด้วยhook_update_nคุณสามารถตั้งค่ารุ่นสคีมาในฐานข้อมูล คุณวิ่งใหม่ได้hook_post_update_NAME()อย่างไร
11 8  updating 

1
เพิ่มคลาสลงในเซลล์ตาราง Drupal ที่มี ['data']
ใน Drupal 8 ตารางการเรนเดอร์ยังคงเหมือน Drupal 7 คุณสร้างอาร์เรย์หลายมิติของแถวและคอลัมน์ใน PHP ที่ Drupal แปลงเป็น a <tr>และ<td>s ตามลำดับ ยังคงมี Drupalism ที่สับสนที่รู้จักกันในชื่อนี้'data'ซึ่งช่วยให้คุณเพิ่มองค์ประกอบอาร์เรย์แสดงผลเป็นข้อมูลเซลล์ (เพื่อไม่ให้สับสนกับแอตทริบิวต์ของข้อมูล) ฉันได้รับเว็บไซต์ที่ผู้พัฒนาเลือกใช้ 'data' เพื่อแสดงเนื้อหาของเซลล์ แต่ฉันไม่สามารถหาวิธีเพิ่มคลาสไปยัง<td>รอบ ๆ ข้อมูลได้ ฉันได้อ่านซอร์สโค้ดและเอกสารสำหรับTable.phpแล้วและฉันรู้เรื่องใหม่แล้ว#wrapper_attributes แต่ไม่สามารถถอดรหัสได้ ฉันลองอย่างน้อยสี่วิธีในการเพิ่มชั้นเรียนและไม่ทำงาน $table['row-' . $row_id] = [ // Option 1: Class appears on <tr> tag '#attributes' => [ 'class' => ['option-1-row-attributes'], 'id' => 'row-' . …
11 theming  8 

5
ฉันจะควบคุมการเปิดเผยบล็อกด้วยรหัสได้อย่างไร
ใน Drupal 6 ฉันสามารถควบคุมการมองเห็นบล็อกโดยใช้โค้ด PHP ในการกำหนดค่าบล็อก UI เช่น: <?php return MYMODULE_abc() || MYMODULE_def() ; ?> ฟังก์ชั่นเหล่านี้ค้นหาโหนดปัจจุบันอนุกรมวิธาน ฯลฯ เพื่อตัดสินใจว่าจะแสดงบล็อคหรือไม่ ตัวเลือก PHP นี้หายไปใน Drupal 8 แต่มี$visibilityช่องBlockBaseว่าง ฉันสามารถใช้สิ่งนี้เพื่อตั้งค่าการมองเห็นขณะรันไทม์โดยทางโปรแกรมหรือไม่
11 8  blocks 

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

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