Hent teknisk dokumentation - Go Basic
Hent teknisk dokumentation - Go Basic
Hent teknisk dokumentation - Go Basic
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Som det ses i diagrammet, nedarver alle klasserne direkte, eller indirekte fra Entity<br />
klassen, som gør at CmsService klassen kan arbejde med dem.<br />
Eksempler på brugen af API-abstraktionen kommer her:<br />
var service = CmsService.Instance; // Returnerer via provider pattern en request<br />
scope instans af <strong>Go</strong><strong>Basic</strong>.UmbracoServices.UmbracoService.<br />
var module = service.GetItem(new Id(12)); Returnerer et typestærkt<br />
FormsModule objekt. Den tilsvarende kode i Umbraco ville være :<br />
var node = new NodeFactory.Node(12);<br />
eller<br />
var document = new Document(12);<br />
Modulsystem<br />
<strong>Go</strong> <strong>Basic</strong>s modulsystem er udviklet for at give redaktører en større fleksibilitet i forhold<br />
til opbygning af indhold. Et modul er basalt set en lille byggeklods som kan inkluderes<br />
på en eller flere sider. Der findes en række forskellige modultyper i <strong>Go</strong> <strong>Basic</strong>, bl.a. en<br />
nyhedsliste, en call-to-action box, et billedegalleri og en videoboks. Hver modultype<br />
har en række felter som gør, at det enkelte modul kan konfigureres på forskellige<br />
måder.<br />
Rent <strong>teknisk</strong> set, består et modul af en dokumenttype, en entitets klasse og en<br />
præsentationsklasse.<br />
Dokumenttypen skal nedarve fra GridModule dokumenttypen og skal navngives med<br />
postfix ”Module”, f.eks. ”MultiBox Module”. Det giver et dokumenttype alias som<br />
hedder følgende ”MultiBoxModule”. Der skal ikke specificeres en template ved<br />
oprettelsen. Derudover tilføjer man de felter man har behov for, for at konfigurere<br />
modulet.<br />
Entitetsklassen skal nedarve fra GridModule entiteten, og navnet skal svare til<br />
dokumenttypens alias. Dette sker helt automatisk ved at køre kodegenereringen. For<br />
at tilgå de enkelte felter på modulet oprettes en partiel klasse, hvorpå felterne oprettes<br />
som properties.<br />
Præsentationsklassen kan være en CustomControl eller en UserControl. Der er pt.<br />
ikke understøttelse af xslt renderinger. Præsentationsklassen skal hedde<br />
entitetsklassens navn plus postfikset ”Rendering”. Dvs. MultiBoxModuleRendering.<br />
Når et modul skal renderes leder systemet altså efter en præsentationsklasse som<br />
hedder modulets navn + ”Rendering”.<br />
Bemærk! Hvis man benytter sig af user controls til at implementere<br />
præsentationsklassen, skal den oprettes under /Modules folderen i roden af website<br />
projektet.<br />
Eksempel på tilføjelse af et modul<br />
I det følgende eksempel tager vi udgangspunkt i at benytte custom controls til at<br />
implementere et ”Hello World” modul.<br />
Opret dokumenttypen ”Hello World Module”.<br />
Log ind i Umbraco som administrator.<br />
Vælg ”settings” sektionen i venstre side i bunden.<br />
5