0

私はphpシーン全体にまったく慣れていませんが、phpヘッダーとフッターを作成してページに含めることができたので、各ページのヘッダーとフッターを編集する必要はありません。次の課題は、ブログ ページのようなテンプレート全体を作成することです。テンプレートを変更すると、それに応じてすべてのブログ ページが変更されますが、コンテンツはもちろん、私が持っている php ヘッダーとフッターと同じように同じままにする必要があります。テーマエンジンなどについて少し読んだことがありますが、それらはすべてかなり混乱しているようで、ワードプレスに変換したくありません。では、テンプレートの作成に関する私のオプションは何ですか? 前もって感謝します。

4

1 に答える 1

0

PHP 用のスマートで強力なテンプレート エンジンを簡単に使用できます。まず、html ベース、ヘッダー、フッターを含むテンプレートを作成します。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.
于 2013-05-11T12:02:47.183 に答える