it-swarm.dev

내 테마에 대한 노드 템플릿 파일의 이름을 어떻게 지정해야합니까?

템플릿 파일의 이름을 지정하는 방법에 대해 약간 혼란 스럽습니다. drupal 7에서 템플릿을 엉망으로 만들기 시작한 것은 처음이며 어떻게 든 이해하지 못합니다.

내 첫 페이지에있는 내 블로그 게시물의 동작을 변경하는 템플릿 파일을 원합니다. Drupal 6에서 node-blog.tpl.php라는 파일 만 있으면 블로그 게시물을 엉망으로 만들 수있었습니다.

나는 Drupal 7로 똑같이 시도했지만 작동하지 않았습니다. 답을 검색하고 다음 함수가 템플릿 파일 선택과 관련이 있어야한다는 것을 읽었습니다.

function template_preprocess_node(&$variables) {
  ...
// Clean up name so there are no underscores.
  $variables['theme_hook_suggestions'][] = 'node__' . $node->type;
  $variables['theme_hook_suggestions'][] = 'node__' . $node->nid;
}

또한 '-'를 함수 이름에 사용할 수 없기 때문에 '-'와 '_'간의 일부 변환에 대해 읽었습니다. 그래서 몇 가지 변형을 시도했습니다.

node__blog.tpl.php
node--blog.tpl.php
node-blog.tpl.php
node_blog.tpl.php

그들 중 누구도 Drupal에서 인정하지 않습니다. 내가 뭘 잘못하고 있죠?

1
mantuko

다음이 작동합니다.

node--blog.tpl.php

테마 폴더에 node.tpl.php가 있고 캐시를 지웠는 지 확인하십시오.

자세한 내용은 페이지 템플릿 제안이 작동하지 않음 을 참조하십시오.

1
Berdir

맞춤 제안을 추가하지 않으 셨다니 기쁩니다!

동일한 대체 노드 템플릿을 통해 여러 노드 유형을 실행하려는 경우에만 좋은 일입니다.

0
doublejosh