그것은 더 나은 사용하여 별도의 템플릿 파일에 대한 앞 페이지?
-
20-09-2019 - |
문제
의 관점에서:
- 속도
- 에 필요한 처리(어떤 영향을 미칠 것이 속도)
- 다음과 같은 표준
는 다음 두 가지 방법이 될 것이 좋을까?
를 만들고 싶은데 일반적인 페이지 레이아웃,그러나,메인 페이지 보이는 것 서로 다른 정상에서 보고 느낄 수 있습니다.
방법 1
을 만드는 일반 page.tpl.php 파일이 있지만 다음과 같은 코드:
.....
<body>
<?php if (isFront()) {
// lots of stuff for the frontpage
}
else
{
// lots of stuff for the other pages
}
?>
</body>
방법 2
Creat 두 개의 페이지를 즉 page.tpl.php 고 front.tpl.php.코드는 것이 중복되지만,메인 페이지와 다른 페이지를 각각 자신의 전용 파일입니다.
해결책
말는 방법 2 는 더 낫습니다.내 생각에도 크게 영향을 받는 어느 방법이 없 엄격한 기준이지만,과도한 분기 템플릿 파일에는 권장하지 않습니다.
그러나 제가 관심을 가질 것입니다 무엇을보 홈페이지는 특정 코드입니다.Drupal 을 줄 것이다 앞 페이지로는"앞에"css 클래스할 수 있도록 다르게 스타일과 블록을 만들 수 있습에만 표시 앞 페이지입니다.이 있을 수도 있습에 대한 필요성이되지 않는 특정 프런트 페이지 템플릿입니다.
다른 팁
나는 당신의 포인트를 역순으로 해결할 것입니다.
표준
표준 허용 방법 (적어도 Zen 기반 테마로 작업 할 때)은 특정 템플릿을 만드는 것입니다. 당신은 실제로 당신이 이름을 짓는 것처럼 작동하기 위해 추가 테마 기능을 넣을 필요가 없습니다. page-front.tpl.php
첫 페이지에만 사용됩니다. 물론 이것은 별도의 템플릿이 필요한 경우에만 적용됩니다 (이에 대한 Jeremy의 답변 참조).
필요한 처리
나는 두 가지 다른 방법의 특성과 밀접하게 관련된 인식 가능한 차이가 있다고 생각하지 않습니다. 다른 모든 것은 동일하지만 컴퓨터가 파일 (템플릿)을 열고 PHP를 처리하는 것이 여전히 동일한 파일이든 다른 파일인지에 관계없이 문제입니다. 솔루션 #1은 다음과 같습니다 if
더 말하지만 ... 실제로 차이를 만들까요?
속도
당신이 정말로 최적화가 필요하다면, 나는 읽었습니다 (내가 틀리지 않으면 프로 드루 팔 개발) 템플릿을 통해 페이지를 테마하는 것은 함수를 통해 수행하는 것보다 5 배 속도가 느리므로 해당 솔루션도 고려할 수 있지만 홈페이지가 캐시 할 수없는 경우에만 이점을 가져올 수 있습니다.
HTH!