好吧所以我创建了这个网站,并希望将其转换为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
包含到header.php
文件中body标签的开头。所以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 :(得分:1)
使用模板引擎或MVC框架(例如CakePHP或CodeIgniter),其中已经包含模板引擎。
答案 1 :(得分: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模板引擎:
答案 2 :(得分: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>