0

これは、他のプロファイル ページを作成するためのテンプレートである、私の .php ページのコードです。

    <?php
    $dj = Helper::getUserProfileInfo('dj','{thedjid}');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>{username} Home page</title> 
</head>

<body> 
Hello,<br /> 
<img href="<?php echo $dj->getAvatar(); ?>"/><br/>
this is my new home page. Here is my data:<br /><br />
<?php echo 'Dj name: '. $dj->getName();?>
<br /> 
<?php echo 'Contact for booking: '. $dj->getEmail();?> <br /> 

</body>
</html>

そして、新しいページを作成するときは、これを置き換えたいと思います - {thedjid} (ページの上部にあります) を ID 番号に置き換えます。はい、SEO のため、ユーザーごとに新しい php ページを作成しようとしています。グーグルで検索したらユーザーが出てくるように。ツイッターと同じように、誰もがページを持っています。

テンプレートの php セクションの単語を置き換えることができるので、ページにアクセスするたびにユーザー情報を引き出すことができると感じました。これは可能ですか?

4

1 に答える 1

0

テンプレートへのアプローチは良くないと思います。

処理をレンダリングから分離する必要があります。smartyhttp : //www.smarty.net/のようなテンプレートエンジンを使用したくない場合

次のようなプレーンファイルにテンプレートを含めることができます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>{username} Home page</title> 
</head>

<body> 
Hello,<br /> 
<img href="{avatar}"/><br/>
this is my new home page. Here is my data:<br /><br />
Dj name: {djname}
<br /> 
Contact for booking: {email} <br /> 

</body>
</html>

そして、あなたのphpコードは次のようになります

<?php
$id = //get the value from database, or post or get
$dj = Helper::getUserProfileInfo('dj',$id);
$template = file_get_contents('path/to/template');
$tags = array('{avatar}','{djname}','{email}');
$vals = array($dj->getAvatar(),$dj->getName(),$dj->getEmail());

echo str_replace($tags,$vals,$template);
于 2013-03-13T19:01:59.113 に答える