Templates i CI

Tags:    template codeigniter

Hejsa piger og drenge.

Jeg er færdig med et tidligere projekt og skal nu give mig noget nyt at kaste mig over.

Har bestemt mig for at prøve at bygge et template system ind, hvor jeg ganske let og hurtigt fra mit administrations panel kan skifte mellem forskellige templates på mit system.

Jeg har selv skrevet systemet i Codeigniter (CI).
Men hvordan jeg lige får dette implementeret bedst, ja der er jeg altså lidt på herrens mark.
Det er som sådan ikke selve data'en, for den er jo egentlig simpel nok at have med at gøre, det er mere selve designet, hvordan kan jeg nemt skifte det ud med et andet.

Jeg har altid lavet en fil der samler header, footer og siden, ved at loade dem ind.

Så er det kun siden jeg har skiftet rundt med fra min controller.

Jeg synes det er svært at finde ud af hvad der virker som en god løsning, for jo mere jeg søger på google om emnet, jamen jo mere går det i hver sin retning.

Jeg håber derfor at der er en der kan hjælp mig med at finde en kanon løsning på dette.




5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg er ikke helt sikkert på hvor meget du mener skal skiftes ud dynamisk, om det er hele layoutet - altså menuen til venstre/højre - eller om det er baggrundsfarven etc.

Men som jeg forstår dig, kan det vel løses med at linke til CSS-filen dynamisk. Dvs. at du har et stykke php som modtager en parameter - GET/POST - eller spørger en configurationsfil, og ud fra det kan den så hente den relevante CSS fil.

Det kræver selvfølgelig noget opsætning for at få det til at virke - men synes umiddelbart at det skal kunne gøres uden en hel masse arbejde?



Ikke helt.

Hvad nu hvis det hele er ændret total, så det ikke kun er min CSS, men også HTML delen, og måske også JS filer?

Men forslaget er udemærket, hvis det ikke er de helt store skift der skal ske.



Du kan i CI overskrive alle core files, så du kan overskrive loaderen og gøre den afhængig af en indstilling i databasen. På den måde vil du kunne hente templates fra forskellige mapper.



Men det forudsætter jo så at når jeg laver templates at jeg laver alle filerne i hvert eneste template, eller er jeg helt galt på den?



nej, du vil godt kunne lave noget fallback vil jeg tro. If file_exists("...") eller load en default template fil.



t