Bagaimana cara menyembunyikan tipe konten pada node add page?

11

Saya perlu cara untuk menyembunyikan jenis konten pada simpul menambahkan halaman, atau lebih baik lagi, membuat dua simpul menambahkan menambahkan halaman yang memisahkan jenis konten saya. Saya menggunakan Drupal 7 dan memiliki empat jenis konten berbeda. Saya ingin tiga dari mereka berada di simpul menambahkan halaman default dan keempat terpisah. Bagaimana saya melakukan ini? Terima kasih

oobie11
sumber

Jawaban:

11

Dua kemungkinan:

  • admin/structure/menu/manage/navigation memindahkan / menghapus item menu yang tidak Anda inginkan.
  • Cara terbersih: gunakan peran dan izin. Jika pengguna tidak dapat membuat jenis konten, tautan tidak akan muncul di menu apa pun.
bergizi
sumber
Terima kasih atas jawaban anda. Cara pertama Anda yang mungkin adalah yang akan saya gunakan karena saya masih membutuhkan pengguna untuk dapat membuat node dari tipe konten keempat saya. Saya hanya perlu dipisahkan dari tiga lainnya.
oobie11
Ok jadi gerakkan saja item menu di menu lain atau sembunyikan dan buat yang lain ini dengan tautan menu yang sama (node ​​/ add / <your_content_type>)
nourcy
Ini jawaban terbaik.
Christia
4

Masukkan ini ke dalam modul khusus:

function yourcustommodule_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    $items['node/add/your-content-type']['type'] = MENU_DEFAULT_LOCAL_TASK;
  }
}
Jancis
sumber
2
MENU_DEFAULT_LOCAL_TASK mengubah tautan menjadi tab. Saya telah menggunakan MENU_CALLBACK sebagai gantinya.
Freeman
3

MEMPERBARUI

MENU_CALLBACK, seperti yang disarankan dalam jawaban lain, tidak bekerja untuk saya di sini. Mereka masih muncul di node/addhalaman.

Kode ini berfungsi:

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

Tentu saja, ini mengasumsikan Anda ingin menonaktifkan (tidak menyembunyikan) node/addtautan untuk tipe itu.


JAWABAN ASLI

The node/addhalaman disediakan oleh modul Node. Anda mungkin dapat melakukan apa yang Anda inginkan dengan menonaktifkan item menu di menu Navigasi, sesuai dengan posting ini: http://data.agaric.com/disabling-or-moving-nodeaddcontent-type-links-from-beneath- add-content-navigation-menu-also-remove

Ini sedikit bug, jadi itu mungkin bukan cara yang dapat diandalkan untuk melakukannya. Secara pribadi, saya akan membuat versi khusus node/addhalaman dalam modul dengan menyalin yang sudah ada dan membuat modifikasi spesifik saya. Maka saya akan gunakan hook_menu_alteruntuk node/addpergi ke versi saya.

Anda mungkin dapat menggantinya dengan tampilan atau panel sebagai gantinya (dengan Page Manager), tetapi saya belum mencoba ini, dan Anda mungkin akan kehilangan otomatisasi.

solusi wizones
sumber
Terima kasih! Di mana node/addhalaman itu berada untuk saya salin? Dan bagaimana Anda menyarankan untuk mencetak berbagai jenis konten?
oobie11
Itu harus di node.pages.inc. Jika Anda membutuhkan tipe lain untuk ditampilkan saat Anda membuatnya dan tidak memiliki daftar statis, lakukan dalam kode.
wizonesolutions
Tindak lanjut sendiri: Saya tidak suka jawaban saya sendiri sejak 4,5 tahun yang lalu. Gunakan salah satu dari yang di atas :)
wizonesolutions