Sitecore and SWFObject

Продължавам на вълна Sitecore. За един от проектите си имам нужда от flash replacement за някои от заглавията в страниците. За да не се получи объркване от използването на sIFR, решихме да използваме custom система за замяна на текста. За embedding на flash се спрях на SWFObject 2 – много лека и полезна библиотека, доста по-елегантна от метода на Adobe.
Проблемът дойде от комуникацията между Flash и приложението – знаем, че flashVars използва формат, подобен на query string в браузърите – всяка двойка променлива-стойност е разделена със знак амперсанд. SWFObject 2 позволява известна гъвкавост, позволявайки да кодирате flashVars като JavaScript object, но в процеса на embed-ване на flash-клипчето въпросния обект се кодира до познатия ни query string формат, което прави проблемно използването на амперсанд като част от стойността на дадена променлива – например ако искаме да предадем string от сорта на Terms & Conditions с flashVars ще трябва да кодираме амперсанд-а в URI формат, където ще изглежда като Terms %26 Conditions.
За да направя това директно в rendering-a, използвах custom XSL template. Ето как изглежда той, мисля че ще е полезен на всеки, който се сблъсква с подобен проблем:
<xsl:template match="*" mode="main"> <xsl:variable name="flashEscapedTitle"> <xsl:call-template name="flashEscape"> <xsl:with-param name="text" select="sc:fld('title',.)" /> </xsl:call-template> </xsl:variable> <xsl:value-of select="$flashEscapedTitle" /> </xsl:template> <xsl:template name="flashEscape"> <xsl:param name="text" select="."/> <xsl:choose> <xsl:when test="contains($text, '&')"> <xsl:value-of select="substring-before($text, '&')"/><!-- -->%26<xsl:call-template name="flashEscape"> <xsl:with-param name="text" select="substring-after($text,'&')"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$text"/> </xsl:otherwise> </xsl:choose> </xsl:template>
Маркери: sitecore, tips, xml, xsl
За тази статия
В момента четете "Sitecore and SWFObject", статия в stinger's thoughts
Отпечатване на статията
- Публикувана на:
- 17.11.2008 в 12:45
- Категория:
- Web Development
- Изпращане:
- Изпрати чрез email
Категории
- Books (10)
- Linux/UNIX (66)
- Movies (32)
- Music (73)
- Web Development (59)
- Други (182)






















IE8 Webslice
RSS с публикации
Няма коментари
RSS с коментaрите