วิธีซ่อนชนิดเนื้อหาในหน้าเพิ่มโหนด


11

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

คำตอบ:


11

ความเป็นไปได้สองอย่าง:

  • admin/structure/menu/manage/navigation ย้าย / ลบรายการเมนูที่คุณไม่ต้องการ
  • วิธีที่สะอาดที่สุด: ใช้บทบาทและการอนุญาต หากผู้ใช้ไม่สามารถสร้างประเภทเนื้อหาลิงค์จะไม่ปรากฏในเมนูใด ๆ

ขอบคุณสำหรับคำตอบ. วิธีแรกที่เป็นไปได้ของคุณคือวิธีที่ฉันจะใช้เพราะฉันยังต้องการให้ผู้ใช้สามารถสร้างโหนดของประเภทเนื้อหาที่สี่ของฉัน ฉันแค่ต้องการมันแยกออกจากอีกสามคน
oobie11

ตกลงดังนั้นเพียงแค่ย้ายรายการเมนูในเมนูอื่นหรือซ่อนและสร้างอีกอันนี้เป็นลิงค์เมนูเดียวกัน (โหนด / เพิ่ม / <your_content_type>)
nourcy

นี่คือคำตอบที่ดีที่สุด
Christia

4

ใส่สิ่งนี้ในโมดูลที่กำหนดเอง:

function yourcustommodule_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    $items['node/add/your-content-type']['type'] = MENU_DEFAULT_LOCAL_TASK;
  }
}

2
MENU_DEFAULT_LOCAL_TASK แปลงลิงก์เป็นแท็บ ฉันใช้ MENU_CALLBACK แทน
ฟรีแมน

3

UPDATE

MENU_CALLBACKตามที่แนะนำในคำตอบอื่น ๆ ไม่ได้ผลสำหรับฉันที่นี่ พวกเขายังคงปรากฏบนnode/addหน้า

รหัสนี้ใช้งานได้:

function MYMODULE_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    unset($items['node/add/your-content-type']);
  }
}

แน่นอนว่าคุณต้องการปิดการใช้งาน (ไม่ซ่อน) node/addลิงค์สำหรับประเภทนั้น


คำตอบเดิม

node/addหน้าให้บริการโดยโมดูลโหนด คุณอาจจะสามารถทำสิ่งที่คุณต้องการโดยการปิดการใช้งานรายการเมนูในเมนูนำทางตามโพสต์นี้: http://data.agaric.com/disabling-or-moving-nodeaddcontent-type-links-from-beneath- เพิ่มเนื้อหานำทางเมนูยัง-ลบ

เป็นข้อผิดพลาดเล็กน้อยดังนั้นจึงอาจไม่ใช่วิธีที่เชื่อถือได้ โดยส่วนตัวฉันจะสร้างเวอร์ชันที่กำหนดเองของnode/addหน้าในโมดูลโดยการคัดลอกที่มีอยู่และทำการแก้ไขเฉพาะของฉัน จากนั้นฉันจะใช้hook_menu_alterเพื่อnode/addไปที่เวอร์ชันของฉัน

คุณอาจจะแทนที่ด้วยมุมมองหรือพาเนลแทน (ด้วย Page Manager) แต่ฉันไม่ได้ลองสิ่งนี้และคุณอาจสูญเสียการทำงานอัตโนมัติ


ขอบคุณ! เป็นที่node/addหน้าอยู่ในสำหรับผมที่จะคัดลอก? และคุณจะแนะนำการพิมพ์เนื้อหาประเภทต่างๆได้อย่างไร
oobie11

มันควรจะเป็นnode.pages.incมา หากคุณต้องการประเภทอื่น ๆ ที่จะปรากฏขึ้นในขณะที่คุณสร้างพวกเขาและไม่มีรายการคงที่ให้ทำในรหัส
wizonesolutions

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