Avatar billede b_ Nybegynder
20. september 2006 - 10:45 Der er 14 kommentarer og
2 løsninger

Definere titel, skulle være nemt

Hejsa,
Da jeg har opbygget min side vha include filer, vil jeg gerne at jeg kan definere titlen et sted, så den passer til indholdet som er indlæst/included.
Mente dette var meget simpelt, men åbenbart ikke for mig ;)

Nedenstående virker, men problemet hos mig er at $title først bliver defineret i body hvor include fil bliver indlæst. Har prøvet med $_GET, men kan ikke få det til at virke :(

<?php
    $title = "min titel";
?>
<head>
<title><?php echo $title; ?></title>
</head>
Avatar billede Slettet bruger
20. september 2006 - 10:49 #1
Du kan jo bare include din filer i toppen, og så have en variable der hedder $title i den includede fil.

Så vil den nemlig tilskrive den.
Avatar billede Slettet bruger
20. september 2006 - 10:52 #2
Ellers kan du bruge javascript til at opdatere titlen :)
Avatar billede b_ Nybegynder
20. september 2006 - 10:52 #3
Det er her problemet er. Kan ikke include mine filer i toppen! De includede filer skal includes et bestemt sted på siden
Avatar billede b_ Nybegynder
20. september 2006 - 10:53 #4
philip: OK, hvordan vil du gøre det vha JS?

Men det må da kunne klares vha PHP!
Avatar billede Slettet bruger
20. september 2006 - 10:55 #5
Hvis det skal gøres med PHP, skal du buffer'e outputtet og så erstatte titlen med det du ønsker.

Med JS kan det gøres på følgende måde:
<script language='javascript'>
document.title = "titel";
</script>
Avatar billede b_ Nybegynder
20. september 2006 - 11:03 #6
Hmmm burde det ikke kunne lade sig gøre vha $_GET i titlen?

Hvordan tilgå du "titel" i selve <title></title>?
Avatar billede b_ Nybegynder
20. september 2006 - 11:10 #7
Hvordan tilgår du "titel" i selve <title></title>? hos dit JS?
Avatar billede b_ Nybegynder
20. september 2006 - 11:20 #8
Glem JS spørgsmålet... det er mig der sover
Avatar billede Slettet bruger
20. september 2006 - 11:21 #9
Du kan jo bare lave funktioner i din includede filer.
F.eks.
$titel = "min titel";
function main() {
// main temp
}

og så på din index includer du i toppen din filer.
Og hvor du så skal bruge de forskellige dele i dit template, med echo main();
Avatar billede Slettet bruger
20. september 2006 - 11:22 #10
Jeg ville ikke bruge JS til den del, tænk hvis JS er slået fra eller lign.
Avatar billede b_ Nybegynder
20. september 2006 - 11:30 #11
Vil også selv helst gøre det vha php. Men risikoen for at JS er slået fra er dog minimal. På min side har 98% slået JS til, og af det 2% som ikke har, indgår boots mm.
Og sådan er det ikke kun hos mig. Alle de statistikker jeg har set, var tendensen lignende.

Men når det gøres vha JS, fanger søgeboots (googleboot) så titlen?
Avatar billede b_ Nybegynder
20. september 2006 - 11:31 #12
P.S
Ved ikke hvorfor jeg skriver boot sådan, mener selvfølgelig bot
Avatar billede b_ Nybegynder
20. september 2006 - 11:47 #13
Coldgate: Kan som sagt ikke include mine filer i toppen.

Men ud fra din ide fandt jeg en løsning. Ved bare ikke hvor smart den er:

<title><?php echo main(); ?></title>
Og så indsætter jeg følgende i include-filerne:
function main() {
    print('min titel');
}

Men kan det ikke laves automatisk? Ved godt jeg ikke skrev det i mit spg.
Men i mine include filer har jeg en overskrift, og det er faktisk den som skal være titel. <b>Min titel</b>
Avatar billede b_ Nybegynder
22. september 2006 - 09:19 #14
Philip og Coldgate, smid et svar som tak for at I kom med en måde det kunne løses på
Avatar billede Slettet bruger
22. september 2006 - 11:41 #15
...
Avatar billede Slettet bruger
22. september 2006 - 13:22 #16
her var det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester