Sivuilla on erotettu ulkoasu ja sisältö erikseen ja en halua että kaikissa olisi sama title. Tiedän, että tuolla alla olevalla koodilla saa titlen vaihdettua samaksi kuin tiedoston nimi, mutta onko mitenkään mahdollista, että se muuttuisi samaksi kuin linkin nimi.
<title><?php print($sivu); ?></title>
Esim:
<a href="index.php?sivu=etu">Etusivu</a>
Jos tiedosto on etu.php niin sen sivun titleksi tulisi Etusivu.
No tulostat tietysti linkin nimen title-elementtiin. Kyllähän tuon nyt tajuaa? Jos yrität ilmaista kautta rantain, mahdollisimman vaikeasti ja epäselvästi, että olet kovakoodannut navigaation (html:ään) etkä siksi saa siitä linkin nimeä kaivettua ulos, niin ratkaisuna on tietysti luoda abstraktiot navigaation hallitsemiseksi. Kun navigaatio on koodissa tietorakenteena, niin voit hakea siitä mitä tietoja tarvitsetkaan.
Mitenköhän tämä käytännössä sitten tehdään?
Minusta täällä esitetty ja kovaakin arvostelua saanut ylä- ja alaosan tulostamisen hoitaminen erillisillä funktoilla voisi olla kokeilemisen arvoinen juttu. Tällöin jokainen sivu olisi oma kokonaisuus ja tulostettava otsikko selviäisi funktiolle annettavasta parametristä.
<?php /** Tietokanta ja muut ennen tulostetta tehtävät työt ja toimet **/ /** Tulosteen muotoilu **/ tulosta_ylaosa($otsikko); /** Muotoiltu sisällön tulostus **/ tulosta_alaosa();
Kiitos vastauksesta! Taidan kumminkin tehdä asian näin:
<?php $sivu = $_GET[sivu]; $title = "Etusivu"; ?> <title><?php print($title); ?></title> <a href="index.php?sivu=etu">Etusivu</a>
Eli laitan jokaisen sisältösivun alkuun muuttujan "$title = "X";". Näin voin määrittää jokaiselle sivulle oman titlen.
Tuo ei toimikaan, koska title tulostus koodi on eri tiedostossa kuin koodi jolla title määritetään. En kyllä mitenkään keksi miten saisin tämän toimimaan.
Jos nyt välttämättä noin yksinkertaisesti haluaa asian hoitaa, niin kyllähän tällainen onnistuu:
<?php $title = "Etusivu"; include("headeri.php"); /* tiedostossa tulostetaan alkuun tulevat HTML-tagit, myös <title>, jossa hyödynnetään $title-muuttujaa */ ?> Sivun sisältö tähän <?php include("footeri.php"); // sivun loppujutut ovat tässä tiedostossa ?>
Tuota muuttujaa $title ei vain saa määritellä tuolla yläosan tulostavassa headeri.php:ssä enää uudelleen (ellei se sitten ole esimerkiksi tyhjä).
Kiitos paljon! Tuo toimii täydellisesti!
Aihe on jo aika vanha, joten et voi enää vastata siihen.