2013-04-08 53 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>