Press Ctrl / CMD + C to copy this to your clipboard.
This post will be reported to the moderators as potential spam to be looked at
Hi guys.
I have the following setup:
Umbraco 4.0.2.1 (I know .. really old - nothing I can do about it :/ )
On a page I have three columns/divs (see fine ASCII graphics below :) ).
The two side bars are meant to show content (little boxes) that are chosen through a Multiple Content Picker.
No problem as long as the boxes are of a document type with just a picture and a headline.
The problem starts when boxes of a document type that contains a field of the type Rich Text Editor are chosen AND the RTE field
contains media (picture) or a editor macro. Sadly this is what I need.
Example:
[sideBarLeft] [content] [sideBarRight]
------------------------------------
[lBox1 id1] [content] [lBox11 id42]
[lBox2 id4] [from ] [etc. ]
[boxRTE id42] [node ] [etc. ]
[lbox3 id42] [id42 ] [etc. ]
sideBarLeft and sideBarRight each has their own XSLT macro that iterates through the chosen boxes from the Multiple Content Picker.
From boxRTE and forward the id seems to "bleed through" to the other XSLT macro and content - but how ?
What puzzles me even more is that if I debug with an alternative template that has:
<textarea> <xsl:copy-of select="$currentPage" /></textarea>
in it... I get the right node id, values from fields etc.
Any feed back is welcome. I´ve been pulling my hair out on this one for two days already :)
<?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:KvExtensions="urn:KvExtensions" exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets KvExtensions "><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:param name="currentPage"/><xsl:variable name="settingNode" select="31331" /><xsl:variable name="sidebar" select="$currentPage/data[@alias='IH_OKD_sidebarLeft']" /><xsl:template match="/"> <xsl:variable name="boxPool"> <xsl:choose> <!-- are there any boxes chosen for this page ? --> <xsl:when test="$sidebar != ''"> <xsl:value-of select="$sidebar" /> </xsl:when> <!-- .. otherwise use default settings --> <xsl:otherwise> <xsl:value-of select="umbraco.library:GetXmlNodeById($settingNode)/data[@alias='IH_OKD_sidebarLeftStd']"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="sideBoxes" select="umbraco.library:Split($boxPool, ',')" /> <!-- iterate through the boxes .. --> <xsl:for-each select="$sideBoxes/value"> <xsl:variable name="currItem" select="umbraco.library:GetXmlNodeById(.)" /> <!-- and render each of them by calling the following macro with parameters --> <xsl:variable name="macro"> <![CDATA[<?UMBRACO_MACRO macroAlias="[IH][OKD]sideBox" imageId="]]><xsl:value-of select="$currItem/data[@alias='IH_OKD_sidebox_image']" /><![CDATA[" boxLink="]]><xsl:value-of select="$currItem/data[@alias='IH_OKD_sidebox_link']" /><![CDATA[" nodeId="]]><xsl:value-of select="$currItem/@id" /><![CDATA["></?UMBRACO_MACRO>]]> </xsl:variable> <xsl:value-of select="umbraco.library:RenderMacroContent($macro, .)" disable-output-escaping="yes" /> </xsl:for-each></xsl:template></xsl:stylesheet>
sideBox - 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:KvExtensions="urn:KvExtensions" exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets KvExtensions "><xsl:output method="xml" omit-xml-declaration="yes"/><xsl:param name="currentPage"/><xsl:variable name="imageId" select="/macro/imageId" /><xsl:variable name="boxLink" select="/macro/boxLink" /><xsl:variable name="nodeId" select="/macro/nodeId" /><xsl:variable name="node" select="umbraco.library:GetXmlNodeById($nodeId)" /><xsl:variable name="nodeType" select="$node/@nodeTypeAlias" /><xsl:variable name="nodeTemplate" select="$node/@template" /><xsl:template match="/"> <xsl:choose> <xsl:when test="$nodeTemplate = 31917"> <!-- boxes of type boxRTE --> <xsl:value-of select="umbraco.library:RenderTemplate($nodeId, $nodeTemplate)" disable-output-escaping="yes" /> </xsl:when> <xsl:when test="$nodeTemplate = 31641"> <!-- boxes of type lBox --> <xsl:choose> <xsl:when test="$imageId != ''"> <xsl:variable name="media" select="umbraco.library:GetMedia($imageId, 0)/data" /> <xsl:variable name="url" select="$media[@alias = 'umbracoFile']" /> <xsl:variable name="width" select="$media[@alias = 'umbracoWidth']" /> <xsl:variable name="height" select="$media[@alias = 'umbracoHeight']" /> <xsl:choose> <xsl:when test="$boxLink !=''"> <a> <xsl:attribute name="href"><xsl:value-of select="umbraco.library:NiceUrl($boxLink)" /></xsl:attribute> <xsl:attribute name="alt"><xsl:text></xsl:text></xsl:attribute> <xsl:attribute name="title"><xsl:text></xsl:text></xsl:attribute> <xsl:attribute name="class"><xsl:text>portlet-right</xsl:text></xsl:attribute> <img> <xsl:attribute name="src"><xsl:value-of select="$url" /></xsl:attribute> <xsl:attribute name="width"><xsl:value-of select="$width" /></xsl:attribute> <xsl:attribute name="height"><xsl:value-of select="$height" /></xsl:attribute> </img> </a> </xsl:when> <xsl:otherwise> <img> <xsl:attribute name="src"><xsl:value-of select="$url" /></xsl:attribute> <xsl:attribute name="width"><xsl:value-of select="$width" /></xsl:attribute> <xsl:attribute name="height"><xsl:value-of select="$height" /></xsl:attribute> <xsl:attribute name="class"><xsl:text>portlet-right</xsl:text></xsl:attribute> </img> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <div> No picture !!! </div> </xsl:otherwise> </xsl:choose> </xsl:when> </xsl:choose></xsl:template></xsl:stylesheet>
Hi, not sure i understand the problem here? Could you explain what you mean by bleeding? Thanks. Charles :)
Have you checked to see if something like
<xsl:attributename="alt"><xsl:text></xsl:text></xsl:attribute>
is giving you a self closing tag /> instead of </xsl:attribute> This would caused that error and its happened to me before :)
is working on a reply...
Write your reply to:
Upload image
Image will be uploaded when post is submitted
editor macro "bleeds" id / content into other macros
Hi guys.
I have the following setup:
Umbraco 4.0.2.1 (I know .. really old - nothing I can do about it :/ )
On a page I have three columns/divs (see fine ASCII graphics below :) ).
The two side bars are meant to show content (little boxes) that are chosen through a Multiple Content Picker.
No problem as long as the boxes are of a document type with just a picture and a headline.
The problem starts when boxes of a document type that contains a field of the type Rich Text Editor are chosen AND the RTE field
contains media (picture) or a editor macro. Sadly this is what I need.
Example:
[sideBarLeft] [content] [sideBarRight]
------------------------------------
[lBox1 id1] [content] [lBox11 id42]
[lBox2 id4] [from ] [etc. ]
[boxRTE id42] [node ] [etc. ]
[lbox3 id42] [id42 ] [etc. ]
sideBarLeft and sideBarRight each has their own XSLT macro that iterates through the chosen boxes from the Multiple Content Picker.
From boxRTE and forward the id seems to "bleed through" to the other XSLT macro and content - but how ?
What puzzles me even more is that if I debug with an alternative template that has:
in it... I get the right node id, values from fields etc.
Any feed back is welcome. I´ve been pulling my hair out on this one for two days already :)
sideBox - XSLT
Hi, not sure i understand the problem here? Could you explain what you mean by bleeding? Thanks. Charles :)
Have you checked to see if something like
<xsl:attributename="alt"><xsl:text></xsl:text></xsl:attribute>
is giving you a self closing tag /> instead of </xsl:attribute> This would caused that error and its happened to me before :)
is working on a reply...