为博客页面制作一个php模板

时间:2013-05-11 11:10:38

标签: php templates blogs template-engine

我对整个php场景都很陌生,但我设法创建了一个php页眉和页脚并将它们包含在我的页面中,所以我现在不必在每个页面上编辑页眉和页脚。我的下一个挑战是为博客页面制作一个完整的模板,如果我更改模板,那么所有的博客页面都会相应地改变,但内容当然必须保持相同,就像我的php页眉和页脚一样。我已经阅读了一些关于主题引擎等的内容,但它们似乎都很混乱,我不想将它转换为wordpress。那么我制作模板的选择是什么?提前谢谢你。

1 个答案:

答案 0 :(得分:0)

您可以简单地为PHP使用smarty,功能强大的模板引擎。 首先 - 使用html base,header,footer创建模板。将其保存到templates / _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>

然后,为每个页面创建一个模板文件。如果它的博客在每个页面上具有相同的外观,并且唯一可变的是帖子内容 - 您只需要1个模板。我们称之为'Post.html'

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

在php中 - 做这样的事情:

<?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.