그것은 더 나은 사용하여 별도의 템플릿 파일에 대한 앞 페이지?

StackOverflow https://stackoverflow.com/questions/1746592

  •  20-09-2019
  •  | 
  •  

문제

의 관점에서:

  1. 속도
  2. 에 필요한 처리(어떤 영향을 미칠 것이 속도)
  3. 다음과 같은 표준

는 다음 두 가지 방법이 될 것이 좋을까?

를 만들고 싶은데 일반적인 페이지 레이아웃,그러나,메인 페이지 보이는 것 서로 다른 정상에서 보고 느낄 수 있습니다.

방법 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!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top