Como ocultar um tipo de conteúdo no nó adicionar página?

11

Eu preciso de uma maneira de ocultar um tipo de conteúdo na página de adição do nó ou, melhor ainda, fazer dois nós separados adicionarem páginas que separam meus tipos de conteúdo. Estou no Drupal 7 e tenho quatro tipos de conteúdo diferentes. Eu gostaria que três deles estivessem no nó padrão add page e o quarto fosse separado. Como eu faria isso? obrigado

oobie11
fonte

Respostas:

11

Duas possibilidades:

  • admin/structure/menu/manage/navigation mova / exclua o item de menu que você não deseja.
  • Maneira mais limpa: use funções e permissões. Se o usuário não puder criar um tipo de conteúdo, o link não aparecerá em nenhum menu.
nourcy
fonte
Obrigado pela sua resposta. Sua primeira maneira possível é a que eu usaria, porque ainda preciso que os usuários possam criar nós do meu quarto tipo de conteúdo. Eu só preciso disso separado dos outros três.
oobie11
Ok, então apenas mova o item de menu para outro menu ou oculte-o e crie outro com o mesmo link de menu (nó / add / <seu_content_tipo>)
nourcy
Esta é a melhor resposta.
Christia
4

Coloque isso em um módulo personalizado:

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
fonte
2
MENU_DEFAULT_LOCAL_TASK converte os links em guias. Eu usei MENU_CALLBACK.
Freeman
3

ATUALIZAR

MENU_CALLBACK, como sugerido em outras respostas, não funcionou para mim aqui. Eles ainda aparecem na node/addpágina.

Este código funcionou:

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

Obviamente, assume que você deseja desativar (não ocultar) o node/addlink para esse tipo.


RESPOSTA ORIGINAL

A node/addpágina é fornecida pelo módulo Nó. Você poderá fazer o que quiser, desativando o item de menu no menu Navegação, de acordo com esta publicação: http://data.agaric.com/disabling-or-moving-nodeaddcontent-type-links-from-beneath- add-content-navigation-menu-also-remove

É um bug, portanto pode não ser uma maneira confiável de fazê-lo. Pessoalmente, eu criaria uma versão personalizada da node/addpágina em um módulo, copiando a existente e fazendo minhas modificações específicas. Então eu usaria hook_menu_alterpara node/addir para a minha versão.

Você pode substituí-lo por uma exibição ou painel (pelo Gerenciador de páginas), mas eu não tentei isso e provavelmente perderia a automação.

wizonesolutions
fonte
Obrigado! Onde está node/addlocalizada a página para eu copiar? E como você sugeriria imprimir os diferentes tipos de conteúdo?
oobie11
Ele deve estar em node.pages.inc. Se você precisar que os outros tipos apareçam ao criá-los e não possua uma lista estática, faça-o no código.
Wizonesolutions
Auto-acompanhamento: não gosto da minha própria resposta de 4,5 anos atrás. Use um dos que estão acima :)
wizonesolutions