Я пытаюсь использовать XML-файлы и таблицы стилей XSL вместо обычных шаблонов phtml в Платформе Зенда. Я не уверен, как реализовать его, все же.
Что я попытался сделать до сих пор:
Вот то, что я делаю в init () метод каждого контроллера:
$this->view->xmlStylesheet = '/../application/modules/default/views/scripts/'
. $this->_request->getControllerName() . '/'
. $this->_request->getActionName() . '.xsl';
Который дает мне путь как:
/../application/modules/default/views/scripts/index/index.xsl
Мое расположение похоже на это:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="<?php echo $this->escape($this->xmlStylesheet); ?>"?>
<page>
<header></header>
<content></content>
<footer></footer>
</page>
И представления похожи на это, например:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"
media-type="application/xhtml+xml" encoding="iso-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html>
<head>
<title>Hello World</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1"/>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Что я вхожу в браузер (Firefox), хотя просто пустая страница с источником как это, например:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/../application/modules/default/views/scripts/index/index.xsl"?>
<page>
<header></header>
<content></content>
<footer></footer>
</page>
Кто-то мог выручить меня? Учтите, что я - новичок XML, таким образом, я только начинаю изучать, как использовать его эффективно.
Here's an article on how to create a custom Zend_View class that uses XSLT to render:
"Zend Framework: XSL and self-serializing Views" (Pascal Opitz)