2013-04-08 55 views
2

好吧,所以我創建了這個網站,並希望將其轉換爲PHP只是爲了好玩。網站結構看起來像任何'正常'的網絡結構。像這樣: -動態插入元描述到PHP頁面

<html xmlns="http://www.w3.org/1999/xhtml"> 


<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 
    </head> 

<body class="fish"> 
</body> 
</html> 

行,所以我包括從head body標籤的開始header.php文件。所以header.php看起來像這樣: - '

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 
    </head> 

<body class="fish">` 

現在這是問題所在。每個頁面應該有它自己的title,body類!並且每個頁面也顯然具有它自己的元描述和內容。我將如何完成這個傢伙?我曾想過創建一個基於頁面標題的元描述和主體類的函數。但是有沒有一種比較簡單的方法來完成這個任務?由於

+0

元描述來自哪裏? – 2013-04-08 17:44:44

+0

使用模板系統/引擎並使用變量 – kero 2013-04-08 17:46:36

+0

@connor對不起,錯誤正確,對我來說。元描述在它的頭部通常的地方 – 2013-04-08 17:47:32

回答

1

無論是使用模板引擎或MVC框架(比如CakePHP的或笨),這在他們已經納入模板引擎。

+0

大聲笑我什至不記得當我發佈這個業餘問題。無論哪種方式,即使我知道MVC框架只是想混淆程序化的PHP代碼。我認爲Laravel是我的最愛。 – 2016-05-22 12:11:50

+0

是的,我會更新我的答案列表Laravel或Symfony - Laravel也是我最喜歡的。 – Gimli 2016-05-24 18:05:34

0

裏面你header.php做這樣的事情:

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title><?php echo $_tpl['title'] ?></title> 
    <meta name="description" content="<?php echo $_tpl['meta_desc'] ?>"> 
</head> 

<body class="<?php echo $_tpl['body_class'] ?>"> 

在你的頁面,你可以使用include('header.php')之前,如下定義瓦爾:

$_tpl = array(); 
$_tpl['title'] = 'My Title'; 
$_tpl['meta_desc'] = 'My meta description.'; 
$_tpl['body_class'] = 'fish'; 

正如其他人儘管說,不要」重新發明車輪。你會更好地研究一些已經建立的模板引擎爲PHP:

0

你應該創建一個模板來做到這一點,如果這將是動態的。關於如何傳遞數據,您有很多選擇,無論是數據庫,對象,數組等。根據頁面標題生成數據非常困難,除非您使用非常持久的格式來標題每頁。

<head> 
    <meta property="og:title" content="<?= $values['title'] ?>" /> 
    <meta property="og:type" content="website" /> 
    <meta property="og:url" content="<?= $values['url'] ?>" /> 
    <meta property="og:image" content="<?= $values['image'] ?>/> 
    <meta property="og:site_name" content="<?= values['name'] ?>"/> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <meta name="ROBOTS" content="NOODP"> 
    <link rel="icon" type="image/png" href="<?= $values['image'] ?>" /> 
    <title><?= $values['title'] ?></title> 
    <? if(isset($values['css'])) : ?> 
    <? foreach($values['css'] as $css) : ?> 
     <link href="/css<?= $css['data'] ?>" rel="stylesheet" type="text/css" /> 
    <? endforeach ?> 
    <? endif ?> 
    <? if(isset($values['js'])) : ?> 
    <? foreach($values['js'] as $js) : ?> 
     <script src="/js<?= $js['data'] ?>" type="text/javascript"></script> 
    <? endforeach ?> 
    <? endif ?> 
</head>