使用PHP和XML的页面属性
好吧,我想这是可能的,但这有点超出我的能力。我拥有的是一个基本的header.php、index.php和footer.php,它将与includes一起工作。因此,子页面将是say about.php,并包含页眉和页脚。我要做的是创建一个xml文件,其中包含所有页面信息,如父页面、标题、描述等,并具有一个函数,该函数获取当前文件名,运行该函数并返回相关数据。我有一个获取文件名的函数使用PHP和XML的页面属性,php,xml,include,Php,Xml,Include,好吧,我想这是可能的,但这有点超出我的能力。我拥有的是一个基本的header.php、index.php和footer.php,它将与includes一起工作。因此,子页面将是say about.php,并包含页眉和页脚。我要做的是创建一个xml文件,其中包含所有页面信息,如父页面、标题、描述等,并具有一个函数,该函数获取当前文件名,运行该函数并返回相关数据。我有一个获取文件名的函数 $currentFile = $_SERVER["PHP_SELF"]; $parts = Explode('/
$currentFile = $_SERVER["PHP_SELF"];
$parts = Explode('/', $currentFile);
$filename = ( $parts[count($parts) - 1]);
此函数非常有效,可以返回当前页面文件名,例如about.php。我想要一个函数,它将把这个标题发送给所说的函数,解析xml以获得适当的内容并反馈给我。这可能吗
示例xml
<SITE>
<PAGE>
<FILENAME>about.php</FILENAME>
<DESCRIPTION>description description description </DESCRIPTION>
<TITLE>About Us</TITLE>
<PARENTS>
<PARENT>Company</PARENT>
<PARENT>People</PARENT>
</PARENTS>
</PAGE>
<PAGE>
<FILENAME>people.php</FILENAME>
<DESCRIPTION>description description description </DESCRIPTION>
<TITLE>People</TITLE>
<PARENTS>
<PARENT>Company</PARENT>
</PARENTS>
</PAGE>
</SITE>
关于.php
描述描述描述
关于我们
公司
人
people.php
描述描述描述
人
公司
绝对有可能。以下是一些一般步骤:
我的解决方案是 这是在动态页面的顶部
include "includes/sitestructure.php";
$currentFile = $_SERVER["PHP_SELF"];
$parts = Explode('/', $currentFile);
$pagePath = $parts[count($parts) - 1];
$siteInf = getPage($pagePath);
$description = $siteInf->DESCRIPTION;
$title = $siteInf->TITLE;
我基本上取了当前模板文件的名称,然后通过getPage函数发送它,并将其引用到这里看到的函数中的XML
function getPage($pagePath){
$file = "includes/sitestructure.xml";
$xml = simplexml_load_file($file);
$pages = $xml->xpath('PAGE[FILENAME="'.$pagePath.'"]');
$pages = $pages[0];
return $pages;
}
最后我在适当的地方调用变量
<title><?php echo $title ?></title>
<meta name="description" content="<?php echo $description ?>">