Jak ukryć typ zawartości na stronie dodawania do węzła?

11

Potrzebuję sposobu, aby ukryć typ zawartości na stronie dodawania do węzła, lub jeszcze lepiej, utworzyć dwa oddzielne strony dodające do węzła, które oddzielają moje typy zawartości. Korzystam z Drupal 7 i mam cztery różne typy treści. Chciałbym, aby trzy z nich były na domyślnej stronie dodawania węzłów, a czwarta osobna. Jak mam to zrobić? Dzięki

oobie11
źródło

Odpowiedzi:

11

Dwie możliwości:

  • admin/structure/menu/manage/navigation przenieś / usuń element menu, którego nie chcesz.
  • Najczystszy sposób: użyj ról i uprawnień. Jeśli użytkownik nie może utworzyć typu zawartości, link nie pojawi się w żadnym menu.
pożywka
źródło
Dziękuję za odpowiedź. Twój pierwszy możliwy sposób to ten, którego użyłbym, ponieważ nadal potrzebuję użytkowników, aby móc tworzyć węzły mojego czwartego typu zawartości. Potrzebuję go tylko oddzielić od pozostałych trzech.
oobie11
Ok, więc po prostu przenieś element menu do innego menu lub ukryj go i utwórz kolejny ten sam link do menu (węzeł / dodaj / <typ_kontaktu>)
nourcy
To najlepsza odpowiedź.
Christia,
4

Umieść to w niestandardowym module:

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
źródło
2
MENU_DEFAULT_LOCAL_TASK konwertuje linki na zakładki. Zamiast tego użyłem MENU_CALLBACK.
Freeman
3

AKTUALIZACJA

MENU_CALLBACK, jak sugerowano w innych odpowiedziach, tutaj nie działało. Nadal pojawiają się na node/addstronie.

Ten kod działał:

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

Oczywiście zakłada się, że chcesz wyłączyć (nie ukryć) node/addlink dla tego typu.


ORYGINALNA ODPOWIEDŹ

node/addStrona jest przez moduł Node. Możesz zrobić, co chcesz, wyłączając element menu w menu Nawigacja, zgodnie z tym postem: http://data.agaric.com/disablowanie-lub-moving-nodeaddcontent-type-links-from-beneath- add-content-navigation-menu-also-removes

To trochę błąd, więc może to nie być niezawodny sposób na zrobienie tego. Osobiście stworzyłbym niestandardową wersję node/addstrony w module, kopiując istniejącą i wprowadzając określone modyfikacje. Następnie użyłbym, hook_menu_alteraby node/addprzejść do mojej wersji.

Być może możesz zastąpić go widokiem lub panelem (za pomocą Page Managera), ale nie próbowałem tego i prawdopodobnie stracisz automatyzację.

wizonesolutions
źródło
Dzięki! Gdzie znajduje się node/addstrona do skopiowania? A jak zaproponowałbyś wydrukowanie różnych rodzajów treści?
oobie11
Powinno być node.pages.inc. Jeśli potrzebujesz, aby inne typy pojawiały się podczas ich tworzenia i nie masz statycznej listy, zrób to w kodzie.
wizonesolutions
Samokontrola: nie podoba mi się moja własna odpowiedź sprzed 4,5 lat. Użyj jednego z powyższych :)
wizonesolutions