Xml-baserade sidor

Xml-baserade sidor är mer styrda än html-baserade och redigeras i en formulärsuppbyggd miljö. Xml är användbart för att skapa olika typer av register direkt i sidsturkturen utan att använda en databas. Det kan vara till exempel listor med medarbetare, nyheter, artiklar osv.

Xml-baserade sidor används också om sidan ska visas i andra typer av applikationer, till exempel Macromedia Flash.

Den här sidan ger dig en introduktion till hur du skapar och använder xml-baserade sidor på en webbplats, samt hur du får Flash att kommunicera med Consolo .

 

Skapa xml-baserade sidor

När en redaktör väljer att redigera en xml-sida, så hämtas xml-filen från servern och Consolo analyserar den för att bygga ett formulär. Här är ett litet exempel på hur en xml-sida kan se ut:

<?xml version="1.0" encoding="ISO-8859-1"?>
<DATA>
  <PAGETYPE type="hidden">News</PAGETYPE>
  <TITLE type="text" caption="Rubrik" maxlength="150">Rubrik</TITLE>
  <DATE type="date" caption="Datum" autochange="0">2000-01-01</DATE>
  <AUTHOR type="text" caption="Författare" maxlength="150">Förnamn Efternamn</AUTHOR>
  <NOTES type="notes" caption="Egna anteckningar"></NOTES>
  <HTMLCONTENT type="html" width="400"><![CDATA[<body topmargin=0 rightmargin=0 bottommargin=0 leftmargin=0><link rel='stylesheet' href='http://www.stifud.se/css/stifud_ie.css'><table width=385 cellpadding=10 cellspacing=0 border=0 bgcolor='#ffffff'><tr><td><!--content--><p>Brödtext</p><!--/content--></td></tr></table></body>]]></HTMLCONTENT>
</DATA>

 

Xml-sidan ser ut så här när man redigerar den i Consolo:

Image

 

Som du ser finns det många olika typer av formulärselement som kan användas. Det är alltid bra att börja sidan med ett gömt värde (till exempel "PAGETYPE") som anger vilken typ av data sidan innehåller. Detta är nödvändigt när man har flera olika typer av xml-sidor på webbplatsen.

Information om hur du skriver xml-sidorna hittar du i Appendix: Xml-definerade formulär »

 

Använda xml-baserade sidor på en webbplats

Exakt hur du använder xml-datat på webbplatsen är upp till dig. Öppna och analysera xml-filen med hjälp av till exempel MSXML2.DOMDocument (ASP), stödfunktionerna i /consolo/inc_xml.php (PHP) eller actionscripts Xml-klass (Macromedia Flash).

Eftersom redaktören ska kunna bläddra bland xml-filerna, och titta på dem, så bör du göra en sida som kan ta emot och visa alla typer av xml-filer som används på webbplatsen. Detta kallas för en xml-gateway.

Ladda gärna hem något av dessa exempel-skript. De är bra att utgå från när du utformar din egen sida:

Image viewXml_asp.zip (ASP)

Image viewXml_php.zip (PHP)


Packa upp skriptet och ladda upp det till Consolo-katalogen.

Denna generella visningssida ska anges under Gateway för xml-filer i webbplatsens konfiguration, till exempel "consolo/viewXml.asp?file=". När en redaktör klickar på en xml-fil i sidstrukturen så kommer sidan som angetts i Gateway för xml-filer att anropas. Consolo lägger ihop http-roten, angiven xml-gateway och den valda filen på Consolos pageKey-format, till en URL. Det kan till exempel se ut så här:

http://www.mycompany.com/consolo/viewXml.asp?file=myfolder/mypage.xml

 

Finns ingen xml-gateway så kommer det råa xml-datat att visas i webbläsaren.

För mer information och hjälp, se exemplena Skapa ett nyhetsarkiv och Skapa webbplatser i Flash .

 

Kommunicera mellan Flash och Consolo

Förutom det som tidigare nämnts om Gateway för xml-filer så finns det ytterligare en anpassning som måste göras för webbplatser helt gjorda i Flash.

Normalt sett så följer sidstrukturen i Consolo hur en person surfar i webbläsaren. Den sida som visas i webbläsaren markeras automatiskt i sidstrukturen. Om du har en webbplats helt gjord i Flash, så kommer Consolo inte automatiskt att veta vilken sida som just nu visas. Detta leder till att "surfa, redigera, publicera"-funktionaliteten inte kommer att fungera.

För att åtgärda detta, infoga nedanstående kod i den sida där Flash-filen ligger:

<!-- Consolo communication -->
<input type="hidden" name="cnsPageKey">
<script>
function setCnsPageKey(tKey) {
  window.document.getElementById("cnsPageKey").value = tKey;
}
</script>
<!-- --------------------- -->

 

Consolo läser kontinuerligt av värdet cnsPageKey. Det enda du nu behöver göra i Flash-applikationen är att skicka in pagekey-värdet (läs om Consolos pageKey-format ) till javascript-funktionen setCnsPageKey varje gång användaren byter sida. Till exempel så här:

getURL("javascript:setCnsPageKey('" + currentKey + "')")

eller

getURL("javascript:setCnsPageKey('myfolder/mypage.xml')")

 

För mer information och hjälp, se exemplet Skapa webbplatser i Flash »