Zend Framework ve XML / XSLT Entegrasyon

2 Cevap php

Ben yerine Zend Framework sıradan phtml şablonları XML dosyalarını ve XSL stil kullanmaya çalışıyorum. Gerçi, bunu uygulamak için nasıl emin değilim.

Ben bugüne kadar yapmak için denedim:

  • yerine. phtml manzarasına ben kullanabilir. xsl stil
  • Ben kullanabilirsiniz. Xml düzenleri

Burada init (her denetleyicisi) yöntemi ne olduğunu:

$this->view->xmlStylesheet = '/../application/modules/default/views/scripts/'
. $this->_request->getControllerName() . '/'
. $this->_request->getActionName() . '.xsl';

Bana böyle bir yol verir:

/../application/modules/default/views/scripts/index/index.xsl

Benim düzeni bu gibi görünüyor:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="<?php echo $this->escape($this->xmlStylesheet); ?>"?>
<page>
    <header></header>
    <content></content>
    <footer></footer>
</page>

Ve görünümleri örneğin şöyle:

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

Ne tarayıcı (Firefox) almak olsa da, örneğin, bu gibi kaynağı ile sadece bir boş sayfası:

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

Biri bana yardımcı olabilir? Ben sadece bunu etkili şekilde nasıl kullanılacağını öğrenmeye başladım yani bir XML acemisiyim dikkate alın.

2 Cevap

İşte işlemek için XSLT'yi kullanan özel Zend_View sınıf oluşturmak için nasıl bir makale:

"Zend Framework: XSL and self-serializing Views" (Pascal Opitz)

İşte PHP, XML ve XSL/XSLT ile Html motoru uygulamak için birkaç seçenek ile iyi bir öğretici olduğunu:

http://www.contentwithstyle.co.uk/content/zend-framework-xsl-and-self-serializing-views/