Estou trabalhando em um site do Drupal 7. Criei um tipo de conteúdo personalizado para obras. Eu tenho muitos campos, e alguns deles estão relacionados ao layout da página, como uma página específica para cada entrada. Então, preciso do page.tpl personalizado para esse tipo de conteúdo específico.
Então, ativei e abri o módulo Theme Developer e cliquei na área do corpo para obter o nome do candidato para esta entrada de página específica do tipo de conteúdo. e ele me mostra a tela abaixo, que não significa nada para mim: / Quando clico na área do nó, tudo bem, ele fornece o nó - work.tpl.php, mas eu preciso da página. Eu tentei "page - work.tpl.php", não funcionou.
o que estou perdendo?
No template.php, adicione:
Você pode omitir
str_replace()
; teste qual versão funciona melhor para você.Em seguida, crie um arquivo de modelo cujo nome de arquivo seja page –- [content_type] .tpl.php. (Substitua [content_type] pelo nome da máquina do tipo de conteúdo.)
Veja http://drupal.org/node/1089656#comment-4426790 .
fonte
Caso você queira o ID do nó, use isso.
fonte
Ter um modelo diferente para cada tipo de conteúdo não é uma boa prática, de acordo com os funcionários do Drupal. Esse é o motivo pelo qual você não encontra
page--work.tpl.php
na lista de arquivos de modelo candidato. Eles acham que apenas os arquivos de modelo de nó devem ser diferentes. No entanto, se você quiser invadir, vá em frente.Use o alias do caminho para configurar um caminho com base no tipo de conteúdo. E então insira este código
para a
phptemplate_preprocess_page(&$vars)
função natemplate.php
pasta do tema.Você pode modificar um pouco o código para torná-lo mais eficiente.
fonte