2011-12-13 2 views
0

Хорошо, поэтому я бы предположил, что это можно сделать, но это немного выше моих возможностей. У меня есть базовые файлы header.php, index.php и footer.php, которые будут работать с включенными. поэтому вспомогательная страница будет говорить about.php и включать верхний и нижний колонтитулы. Я хотел бы создать файл xml, в котором хранятся все данные страницы, родительские страницы, заголовки, описание и т. Д., А также функция, которая получает текущее имя файла, запускает функцию и возвращает соответствующие данные. У меня есть функция, которая получает имя файла ...Атрибуты страницы с PHP и XML

$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> 

ответ

0

Определенно возможно. Вот некоторые общие шаги:

  1. Прочтите в файле settings.xml файл var, то есть somethimg, например file_get_contents.
  2. Использование: xml_parse_into_struc http://php.net/manual/en/function.xml-parse-into-struct.php
  3. Переместите этот результирующий объект, а затем разместите свои предметы там, где они вам нужны.
0

Мое решение закончилось тем, что было ...

Это в верхней части динамической страницы ...

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; 
} 

затем, наконец, я называю свои переменные в соответствующем НОАК e ...

<title><?php echo $title ?></title> 
    <meta name="description" content="<?php echo $description ?>"> 
Смежные вопросы