2

好的,所以我创建了这个网站并想将其转换为 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所以 header.php 看起来像这样:-`

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

<body class="fish">`

现在这是问题所在。每个页面都应该有它自己的titlebody!并且每个页面显然也会有它自己的元描述和内容。我将如何完成这些家伙?我正在考虑创建一个基于页面标题的元描述和正文类的函数。但是有没有更聪明的方法来实现这一点?谢谢

4

3 回答 3

1

要么使用模板引擎,要么使用已经包含模板引擎的 MVC 框架(例如 CakePHP 或 CodeIgniter)。

于 2013-04-08T17:53:52.467 回答
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 模板引擎:

于 2013-04-08T17:50:54.080 回答
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>
于 2013-04-08T17:52:26.883 回答