I forrige innlegg skrev jeg hvordan hovedbloggen på brugeroplevelse.dk er satt opp, og hvordan og hvorfor jeg satt det opp sånn at det genererte bedre URL-er enn det som er standard i Movable Type.
Den bloggen som styrer Styrkeprøve-seksjonen er en ganske så normal blogg. De andre fire bloggoppsettene er helt forskjellige.
Det er som sagt mange måter å bygge opp et helt websted med Movable Type på, og dette er bare en av flere. Men den funker bra for dette webstedet. Webstedet er bygget opp av fem forskjellige blogger, en for hvert hovedområde (altså forsiden, styrkeprøven, aktiviteter, ytelser og om oss). Dette er egentlig ikke nødvendig, men det er smart hvis du skal bruke den interne søkemotoren i Movable Type. Har du en blogg for hvert hovedområde vil søkeresultatene listes som:
Treff fra forsiden
…
…Treff fra aktiviteter
…
…
Etc. Noe som i dette tilfellet virker smartere enn å få alt som en stor mølje. I tillegg gjør det det enkelt å bygge ut med nye seksjoner. De fire bloggene som styrer forsiden, aktiviteter, ytelser og om oss har helt likt oppsett, derfor går jeg bare gjennom én av dem, nemlig den som styrer ytelser-seksjonen.
Det jeg umiddelbart ville gjøre var å følge Brad Choate sin oppskrift på å styre alle sidene sine med Movable Type, bare med modifikasjoner. I Choates løsning er hver enkeltside ett innlegg. Kategorien innlegget ligger i bestemmer mappen siden skal være i, og tittelen bestemmer filnavnet siden har. Eksempelvis vil et innlegg med tittelen tyggegummi som ligger i kategorien snop få URL /snop/tyggegummi.php
.
De sidene på vgrd.dk som ikke tilhører bloggen er styrt på akkurat denne måten, men jeg har funnet ut at det finnes smartere måter å gjøre det på. For det første er det en metode som ikke er spesielt kompatibel med Movable Type sin søkemaskin, da den viser title-feltet som overskrift når den lister opp resultater (naturlig nok). Hvis man eksempelvis søker på “religionsvitenskap” på disse sidene får du tre treff, to av dem heter heter index, og ett heter cv. Riktige overskrifter hadde vært studier (ett treff) og om meg (to treff)
Løsningen er egentlig så simpel som å følge Choates oppskrift, men sette <$MTEntryKeyword$>
inn hvor han har <$MTEntryTitle$>
, og så skrive et keyword selv som genererer URL. Men dette funket ikke for meg, da jeg fikk noen feilmeldinger grunnet php-oppsettet på serveren. Jeg måtte altså (dessverre) velge en annen metode. Her er en gjennomgang:
../ydelser/
<$MTEntryKeywords$>
index.php
(mer om dette senere).<$MTEntryBody$>
(kun det, ja).Så langt alt vel. Det jeg måtte gjøre videre var å bygge en index template (Templates → Create new index template) for hver side jeg ville lage, og ga dem et fornuftig navn, som eksempelvis “brugertest”. Dette er malen til den siden. Som output file angir du hvor siden skal plasseres, i dette tilfellen er det satt til brugertest/index.php
.
Fordelen med å lage en index for hver side er at man kan bruke <$MTInclude file="..."$>
for å inkludere topp- og bunnfiler i inlegget. I tillegg til andre MT-tagger. Dette måtte jeg gjøre grunnet tidligere nevnte php-problem, som gjorde at jeg ikke kunne bruke php til å inkludere de filene jeg ville fra enkeltinnleggene. Men nok om det, bare husk at du ikke behøver å gå om maler (indexes) hvis du har et annet serveroppsett enn meg, eller ikke er avhengig av å inkludere filer i sidene (men er du ikke det bør du sannsynligvis bli det).
I mine maler (main indexes) kommer include-filene først, samt noe php som gir tittel og styrer merkingen av menyen, og under det setter du:
<MTEntries category="brugertest" lastn="1">
<h1>
<$MTEntryTitle$>
</h1>
<$MTEntryBody$>
</MTEntries>
Denne koden sier at man skal hente ut det siste (lastn=”1″) innlegg fra kategorien brugertest. Det er viktig å ha med lastn=”1″, ellers vil innholdet forsvinne etter x antall dager, som er standard i Movable Type hvis man ikke endrer det.
Det neste man må gjøre er å lage et innlegg som er innholdet i siden. Og man må huske å legge dette innlegget inn i en kategori som samsvarer med malen. I mitt tilfelle måtte innlegget hvor det står om brukervennlighetstester ligge i kategorien “brugertest”. I tillegg måtte jeg skrive keyword “brugertest/” i dette innlegget, for å generere URL (det burde holde å skrive <$MTCategoryLabel$>
, men det funket ikke).
Det som skjer nå er at innleggene og malene har samme output-fil, likevel overstyrer malene innleggene, så man støter forhåpentligvis ikke på noe problem der. Man må gjøre dette for at Movable Type sin søkemaskin skal indeksere innholdet, da den kun ser etter innlegg og ikke indeksere malene. Skal du ikke bruke søkemaskinen kan du godt bare putte alt innhold i malene, sammen med include-filene. Men jeg synes likevel det ble mer oversiktlig å skille innholdet ut på denne måten, da det gjør det lettere å redigere. Spesielt på disse sidene da det ikke er meg som skal redigere innholdet etterhvert.
Helt generelt bør det sies at det som har voldt meg mest hodebry er å få Movable Types søkemotor til å vise til riktige filer. Velger man å ikke bruke søk på sidene, eller en ekstern søketjeneste, kan ting gjøres enklere.
Og verre var det ikke! (Ok, det var en sannhet med modifikasjoner). Merk at jeg har fomlet og eksperimentert meg frem til alt dette, og at det kan gjøres på et utall forskjellige måter, garantert noen som er smartere enn dette også. Blant annet vil jeg anbefale å ikke gå veien om maler (indexes) hvis du kan. Når det er sagt er dette rimelig enkelt å sette opp, fungerer godt, gir gode interne søkeresultater, er lett å vedlikeholde når det først er oppe å kjøre, og er lett å utbygge med flere sider og seksjoner etterhvert.
Trackback? http://vaj.no/2004/03/brugeroplevelsedk-del-3-generelt-bloggoppsett/trackback/