Dynamisk side title i CI, med brug af Ocular Template Library

Tags:    code-igniter layout template php mvc

Hej alle udviklere

Jeg sidder og arbejder lidt i Code-Igniter (CI), og har på den baggrund downloadet dette template library - Ocular Template Library

Selve templated fungere fint, men ville spørge om nogle vidste hvordan jeg kan ændre min sides titel, fordi som det er nu, så er sidens titel den samme hele tiden. dokumentationen på siden fortæller mig at jeg kan ændre sidens titel, ved at ændre variablen OCU_site_name i template.php filen der følger med, men hvis jeg gør dette, så ændrer den sidens titel til dette på alle mine sider. er der en speciel måde, hvorpå jeg kan gøre sidens titel dynamisk når jeg benytter mig af dette library.

Nogen der har noget erfaring med dette, som kan hjælpe mig?



Indlæg senest redigeret d. 19.01.2012 19:16 af Bruger #4487
5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Nu ved jeg ikke hvordan det fungerer i det library du nævner, men kan du ikke give det view som har title-tag'et en model med som indeholde en titel? Det er hvad jeg har gjort i en "ren" CI view.

Edit
Nu kan man måske ikke kalde CI's standard view for en template engine xD

Edit 2
Faldt lige over dette: http://williamsconcepts.com/ci/codeigniter/libraries/template/



Indlæg senest redigeret d. 23.01.2012 23:00 af Bruger #6559
Hej alle udviklere

Jeg sidder og arbejder lidt i Code-Igniter (CI), og har på den baggrund downloadet dette template library - Ocular Template Library

Selve templated fungere fint, men ville spørge om nogle vidste hvordan jeg kan ændre min sides titel, fordi som det er nu, så er sidens titel den samme hele tiden. dokumentationen på siden fortæller mig at jeg kan ændre sidens titel, ved at ændre variablen OCU_site_name i template.php filen der følger med, men hvis jeg gør dette, så ændrer den sidens titel til dette på alle mine sider. er der en speciel måde, hvorpå jeg kan gøre sidens titel dynamisk når jeg benytter mig af dette library.

Nogen der har noget erfaring med dette, som kan hjælpe mig?


Du kan i CodeIgniter sende data fra dine controllers til dine views.
Eksempelvis hvis du har et header view (hvor din menu og alle dine start tags er i), så kan du i <title> skrive at du vil have en titel som bliver sendt fra controlleren.

eksempelvis i controlleren:

$data = array
(
'page_title' => 'Home'
);

$this->load->view('header', $data);


Og i viewet:

<title><?php echo $page_title; ?></title>

Så skulle du gerne få ændret sidenavnet hver gang.
Men nu SKAL du så huske at sende navnet der skal vises til viewet hvergang.



Indlæg senest redigeret d. 24.01.2012 14:57 af Bruger #16325
Har nu søgt på nettet, og kunne ikke finde en løsning på dette. Egentlig er det ikke fordi problemet er mega stort, men bare meget rart at kunne sætte sidens titel til flere end en ting, hvilket dette template library forhindrer mig i. Har jo hørt at sidens titel er vigtig i forhold til SEO.

Nogen der måske så kender et 'alternativt' template library, som jeg kan benytte i mit CI. grunden til at jeg valgte netop dette library, var at view delen kun behøvede den HTML, som skulle bruges i det view, altså ikke header og footer osv. Jeg havde også tænkt på at lave header og footer i hver sin fil, også bare inkluderer disse, men syntes at 'koden' blev grim hvis jeg skulle inkluderer header og footer hver eneste gang i min controller, men måske er dette den løsning jeg skal gå tilbage til, da jeg jo så kan sende viewdata til min header fil, og dermed ændre siden dynamisk.

Håber at høre fra jer, hvis i har et bedre template library til CI, og også gerne en beskrivelse af hvordan jeg opsætter dette :)

På Forhånd tak



Tak, jeg prøver lige at kigge på det :)



Hej Martin Bach

Dette er jeg godt klar over. Det er netop for at undgå at skulle have header view i en fil, samt footer view i en anden osv. at jeg bruger et template library. Men ellers tak for forklaringen :)



t