我一直在研究 Symphony,虽然我学得非常慢,但我已经创建了一些基本的网站。我正在努力解决的一件事是,如果有 url 参数,我希望我的主页模板 (home.xsl) 显示一个模板,如果参数为空,则只显示另一个模板。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
omit-xml-declaration="yes"
encoding="UTF-8"
indent="yes" />
<xsl:template match="/">
<html>
<head>
<title>Homepage</title>
</head>
<body>
<h2>Videos</h2>
<ul>
<xsl:apply-templates select="/data/videos/entry"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="videos/entry/single">
<div class="video"><xsl:value-of select="greeting-text"/></div>
</xsl:template>
<xsl:template match="videos/entry">
<li><xsl:value-of select="greeting-text"/></li>
</xsl:template>
</xsl:stylesheet>
例如,在上面的代码中(改编自 'Hello World!' Symphony 教程),有一个template match="videos/entry/single"
and template match="videos/entry"
。如果定义了 URL 参数(例如,我正在加载 website.com/parameter),我希望显示第一个模板,它会显示“参数”视频,如果没有定义参数,它将显示所有视频,即第二个模板。
我在解释事情时遇到了真正的问题,特别是当我不完全了解技术时,所以请原谅我写作中的任何白痴,如有必要,我很乐意解释更多。