我正在添加一个XSLT,用于在Umbraco中添加iFrame。
这是我的XSLT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxml="urn:schemas-microsoft-com:xslt"
xmlns:umbraco.library="urn:umbraco.library" xmlns:Exslt.ExsltCommon="urn:Exslt.ExsltCommon" xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions" xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings" xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets" xmlns:seoChecker.MetaData="urn:seoChecker.MetaData" xmlns:PS.XSLTsearch="urn:PS.XSLTsearch"
exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets seoChecker.MetaData PS.XSLTsearch ">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:variable name="location" select="/macro/location"/>
<xsl:variable name="width" select="/macro/width"/>
<xsl:variable name="height" select="/macro/height"/>
<xsl:template match="/">
<iframe src="{$location}" width="{$width}" height="{$height}" type="text/html" frameborder="0">
Sorry, your browser does not support IFRAMES
</iframe>
</xsl:template>
</xsl:stylesheet>
显然,当我将宏添加到表单并运行页面时,它会抛出错误
Error reading XSLT file: iFrameContactUs.xslt
我已按照此link
的步骤进行操作遵循的步骤
@ Umbraco.RenderMacro(&#34; IFrameContactUs&#34;,new {height =&#34; 700px&#34;,location =&#34;页面的网址&#34;,width =&#34; 500px的&#34;})
但是,当我运行代码时,我得到的错误是
读取XSLT时出错
有人能告诉我XSLT中有什么问题,以及为什么它没有在我的网站上运行
答案 0 :(得分:4)
Umbraco特定的XSLT扩展已在版本7中删除,这就是它失败的原因。
相反,请转到开发者 - &gt;部分查看宏文件并在那里创建一个。请记住在“创建宏”中留下复选标记。
在文件中插入以下内容:
@inherits Umbraco.Web.Macros.PartialViewMacroPage
<iframe src="@Model.MacroParameters["location"]" width="@Model.MacroParameters["width"]" height="@Model.MacroParameters["height"]" type="text/html" frameborder="0">
Sorry, your browser does not support IFRAMES
</iframe>
像以前一样将相同的参数添加到实际的宏中,它应该按照计划完全正常工作(它甚至可以简短和可读); - )