Score:0

วิธีซ่อน / แก้ไข ['operations']['#links'] แก้ไข / ลบภายใต้โครงสร้าง -> เมนูใน D8

ธง ng

ฉันกำลังพยายามซ่อนลิงก์แก้ไขและ eleete ในเมนูการทำงานภายใต้โครงสร้าง -> เมนูสำหรับบทบาทเฉพาะ

ฉันแค่พยายามซ่อนกล่องโต้ตอบการดำเนินการด้วยรหัสนี้ แต่มันกลับเป็น:
ข้อผิดพลาด: ไม่สามารถยกเลิกการตั้งค่าการชดเชยสตริงใน my_menu_form_menu_edit_form_alter()

/**
 * @Implements hook_form_FORM_ID_alter()
 */
ฟังก์ชัน my_menu_form_menu_edit_form_alter (&$form, FormStateInterface $form_state) {

  dpm(แบบฟอร์ม $);

  foreach ($form['links']['links'] as $index => $link) {
ถ้า (strpos($index, 'menu_link') !== เท็จ){
  dpm($form['links']['links'][$index]['operations']['#links']);
    unset($form['links']['links'][$index]['operations']);

  }
}

ฉันเองก็พยายามเปลี่ยนแค่ชื่อเรื่องของลิงก์ แต่ไม่ได้ผลเช่นกัน และทำให้เกิดข้อผิดพลาดเดียวกัน

ใน D7 คุณสามารถทำบางอย่างได้ $form[$key]['operations']['edit']['#access'] = FALSE;

ช่วย :-)

Score:0
ธง ng

เสียใจ! รหัสด้านบนใช้งานได้จริง เพิ่งประสบปัญหาเมื่อสองสามวันที่ผ่านมากับการแคชโค้ดในสภาพแวดล้อม DEV ของเรา ซึ่งการเปลี่ยนแปลงโค้ดจะถูกดึงออกจากแคชโดยการเข้าสู่ระบบและออกจากระบบอีกครั้งเท่านั้น ปิดใช้งาน Drupal Caching ทั้งหมดแล้ว drush cr ไม่ช่วย - เดาว่านี่คือนักเทียบท่า, ddev, opcode ลึกลับ

โพสต์คำตอบ

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