2013-05-11 2 views
0

나는 전체 PHP 장면에 새로운 것이지만 각 페이지의 머리말과 꼬리말을 편집 할 필요가 없도록 php 머리말과 꼬리말을 만들어 내 페이지에 포함시켰다. 지금. 내 다음 과제는 블로그 페이지와 같은 것을위한 전체 템플릿을 만드는 것입니다. 템플릿을 변경하면 모든 블로그 페이지가 그에 따라 변경되지만 콘텐츠는 당연히 PHP 헤더 및 푸터와 동일하게 유지되어야합니다. 나는 주제 엔진 etc.에 관하여 조금 읽었다 그러나 모두 아주 혼란하게하는 것을 보인다, 나는 wordpress로 그것을 개조하고 싶지 않다. 템플릿을 만드는 것에 대한 나의 선택은 무엇입니까? 미리 감사드립니다.블로그 페이지에 대한 PHP 템플릿 만들기

+0

그것은 당신이 아주 간단한 머리글, 바닥 글 및 콘텐츠 섹션을 원하는 경우 단순히 CSS를 사용하는 것이 좋습니다. 그런 다음 다른 CSS 파일을 사용하여 잠시 동안 테마를 변경할 수 있습니다. 여기에 [유명한 예 : http://www.csszengarden.com/](http://www.csszengarden.com/) – ndasusers

답변

0

PHP를위한 강력하고 강력한 템플릿 엔진을 사용하기 만하면됩니다. 먼저 html base, header, footer로 템플릿을 만듭니다. 템플릿/_Frame.html에 저장하십시오.

<!DOCTYPE html> 
<html> 
    <head> 
     <title>{block name='Title'}{/block} - My website</title> 
    </head> 
    <body> 
        <div>Header and some other stuff</div> 
     {block name='Content'}{/block} 
        <div>Footer and some other stuff</div> 
    </body> 

</html> 

그런 다음 각 페이지에 대한 템플릿 파일을 작성하십시오. 각 페이지와 동일한 변수가 동일한 게시물이 게시물 콘텐츠 인 경우 해당 템플릿이 하나뿐입니다. 를 호출하자 'Post.html'PHP에서

{extends '_Frame.html'} 
{block name='Title'}{$Post.Title|escape}{/block} 
{block name='Content'}{$Post.Content}{/block} 

- 같은 일을 :

<?php 

    //Lets say at this poin you've got $BlogPost = array('Title' => 'Blog post title', 'Content' => 'Body of blog post') 
    $S = new Smarty(); 
    $S->assign('Post', $BlogPost); //This creates new variable $Post which is availible inside templates. 
    $S->display('Post.html'); //this displays your template 
?> 


|escape - escapes all html in variable < goes ^lt; etc. 
+0

감사합니다 peku, 그것은 엔진 대신 순수한 PHP를 사용할 수 있습니까? 사이트의 성능에 조금 영향을 미친다고 들었습니다. – tezzataz

+0

사실 그것은 많이 느려지지 않습니다. Smarty는 PHP 파일로 템플렛을 개조하기 위하여 cpu의 제비를 필요로한다. templates_c를 보면 모든 HTML 템플릿이 스크립트 끝 부분에 포함 된 준비된 PHP 파일로 파싱되었음을 알 수 있습니다. http://stackoverflow.com/questions/364989/smarty-benchmark-anyone – peku33

+0

그리고 가장 중요한 것을 잊어 버렸습니다. 템플릿은 소스 파일을 변경 한 후에 만 ​​컴파일됩니다. 데이터 변경 (-> assign)은 템플릿을 다시 컴파일 할 필요가 없습니다. – peku33