Har gjort ett content management system där jag vill att administratören skall kunna välja olika templates när han/hon uppdaterar sidan. T.ex. om det ska vara 1 spalt eller 2 spalter text på första sidan. Någon som har tips på hur man kan göra på ett snyggt och smidigt sätt?
Templates för laytout
Collapse
X
-
Jag kör med Wilson MasterPages. Funkar kanonbra.
Då kan du dels skapa en grundmall med den "statiska" layouten. Sedan skapar du olika templates (.aspx) sidor som först inkluderar grundmallen och sedan har olika layout som huvudinnehåll.
T.ex. onecol.aspx och twocol.aspx i ditt fall.
I databasen har man tabeller som innehåller templates, templateelements, pages, pagecontent
Läs mer på:
Jag har även skrivit lite om mitt eget cms-tänk i min blog
Patrik Dahlén
-----------------------------------------------------
Du läser väl min blogg? theswedishcoder.net
Följ mig på Twitter: twitter.com/patrikdahlen
Releye AB www.releye.se
PD Consulting pdc.se
CV patrik-dahlen.nu -
Till att börja med behöver du inte posta fyra inlägg på rad som säger att det inte fungerar.
För det andra så vore det bra om du mer detaljerat beskrev vad det inte är som fungerar. "Min bil fungerar inte" hjälper inte en bilmekaniker att hitta felet precis.Comment
-
Ursäkta om jag skrev så att du inte förstod. I mitt sista inlägg har jag skrivt att jag fått koden att fungera men jag förstår inte riktigt hur jag ska använda mig av det som PDahlen skriver.
Såhär ser min Template.ascx ut:
[citat]
<%@ Control %>
<%@ Register TagPrefix="Wilson" Assembly="WilsonMasterPages"
Namespace="Wilson.MasterPages" %>
<html>
<head>
<title>MasterPages</title>
</head>
<body>
<h1><wilson:contentregion id="MPHeader" runat="server">
Page Header</wilson:contentregion></h1>
<form id="frmMain" method="post" runat="server">
<wilson:contentregion id="MPContent" runat="server">
Default Content</wilson:contentregion>
</form>
<h2><wilson:contentregion id="MPFooter" runat="server">
Page Footer</wilson:contentregion></h2>
</body>
</html>
[/citat]
och detta har jag lagt till i min web.config
[citat]
<appSettings>
<add key="Wilson.MasterPages.TemplateFile" value="~/Template.ascx" />
<add key="Wilson.MasterPages.DefaultContent" value="MPContent" />
</appSettings>
[/citat]
Och detta är sedan min default.aspx
[citat]
<%@ Page %>
<%@ Register TagPrefix="Wilson" Assembly="WilsonMasterPages"
Namespace="Wilson.MasterPages" %>
<wilson:masterpage runat="server" masterpagefile="Template.ascx">
<wilson:contentregion id="MPHeader" runat="server">
Sample Page</wilson:contentregion>
Real Content for the Default ContentRegion
</wilson:masterpage>
[/citat]
Jag har även fått tag på WilsonMasterPages.dll och gjort en referens till den filen i visual studio.
Min fråga är hur jag sedan skall kunna använda detta dynamiskt för att ladda olika templates? Har nog inte förtått vad koden gör riktigt heller. Ska läsa genom artiklarna i andra inlägget uppifrån i min tråd och se om jag kan få lite förståelse för det. Jag tar gärna en förklaring av någon som jobbat med masterpages också.
Ber om ursäkt för alla svar jag skapat i onödan, plocka bort dom om ni vill.Comment
-
Läs igenom artiklarna för i den ena står det hur du ska göra för att använda en annan template än standardmallen.
Om du ändrar masterpagefile="blabla.ascx" så använder sidan den mallen du ändrar till.
Om du tittar igenom koden lite noggrannare så förstår du nog. Den är inte så komplicerad egentligen bara man tar sig tid.
Patrik Dahlén
-----------------------------------------------------
Du läser väl min blogg? theswedishcoder.net
Följ mig på Twitter: twitter.com/patrikdahlen
Releye AB www.releye.se
PD Consulting pdc.se
CV patrik-dahlen.nuComment
-
Hejsan
Satt å surfade på sourceforge å sprang på detta..
Comment
-
Ja, det där är Paul Wilsons kontroll så man kan ha flera server-forms på en sida.
Det har dock inget att göra med hans MasterPages.
Du kan läsa mer om hans kontroller på http://wilsondotnet.com/Patrik Dahlén
-----------------------------------------------------
Du läser väl min blogg? theswedishcoder.net
Följ mig på Twitter: twitter.com/patrikdahlen
Releye AB www.releye.se
PD Consulting pdc.se
CV patrik-dahlen.nuComment
-
[citat=PDahlen]Jag kör med Wilson MasterPages. Funkar kanonbra.
Då kan du dels skapa en grundmall med den "statiska" layouten. Sedan skapar du olika templates (.aspx) sidor som först inkluderar grundmallen och sedan har olika layout som huvudinnehåll.
T.ex. onecol.aspx och twocol.aspx i ditt fall.
I databasen har man tabeller som innehåller templates, templateelements, pages, pagecontent
Läs mer på:
Jag har även skrivit lite om mitt eget cms-tänk i min blog
http://www.pdc.se/blog/DisplayEntry.aspx?eid=27 [/citat]
jag förstår nog inte skillnaden mellan masterpages och att ladda användarkontroller dynamiskt i placeholders? Du har inte lust att visa lite mer typ hur man ska bygga upp databasen etc?Comment
-
MasterPages handlar egentligen om Placeholders. Skillnaden är väl att det är smidigare att styra den överliggande designen.... tycker jag i alla fall.
När det gäller databasen så pratar vi om något helt annat.
Jag har beskrivit min lösning på http://www.pdc.se/blog/DisplayEntry.aspx?eid=27
Där går jag även igenom de tidigare lösningar jag haft som har legat till grund för min nuvarande lösning.
Den bygger sedan på att jag skickar in ett sidid till varje sida. I min BasePage-klass hämtar jag sidinformationen baserat på det idnumret.
Jag har även skrivit ett inlägg i ett annat forum och där visar jag all kod.
Kanske enklare om jag länkar dit. http://www.pellesoft.se/communicate/...rumid=10&sum=0Patrik Dahlén
-----------------------------------------------------
Du läser väl min blogg? theswedishcoder.net
Följ mig på Twitter: twitter.com/patrikdahlen
Releye AB www.releye.se
PD Consulting pdc.se
CV patrik-dahlen.nuComment
Oderland
Collapse
Comment