既に待機中のテンプレート用のテンプレート エンジンを作成しています。
これがどれほど強化されているかについて言う前に。私はそれを行うためにお金を払っていますが、なぜ彼らが独自のものを持っていると主張しているのかわかりません (おそらく、テンプレートは既に作成されており、マークが付けられているためです)。
彼らはすでに次のようにテンプレートをマークしています:
index.html
<html>
<head><title> [title] </title></head>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<body>
<img class="header" src="images/header.jpg" />
[contents]
</body>
</html>
私は非常に単純な検索と置換のアプローチを使用していますが、十分に機能します。
index.php
$e = new tengine ;
$e->load_template('index.html');// basically file_get_contents
$e->replace('title' , 'zzzzzzz');
$e->replace( 'contents' , 'xxxx');
$e->show();
それらが同じディレクトリにある間は正常に機能します。
ここで、テンプレートと呼ばれる別のディレクトリにアセットを移動したいと考えています。
したがって、次のようにテンプレートを呼び出す必要があります。
index.php
$e->load_template('template/index.html');
テンプレート (index.php) をレンダリングするページは、テンプレート ファイル (index.html) と同じディレクトリにありません。
まだ機能しますが、テンプレート ページにあるすべてのスタイル、画像、および .js が失われます。これらはテンプレート ディレクトリにあり、その 1 つ上のディレクトリにページをレンダリングするためです。
回避策はありますか? テンプレートは既に作成されており、ある種の GLOBALbase_url
のようなものを作成し、すべての画像と .js/.css リンクを変更することは論外です。