Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Miten saa titlen vaihtumaan linkin mukaisesti?

Sivun loppuun

Dino [15.04.2013 19:05:14]

#

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.

The Alchemist [15.04.2013 20:34:36]

#

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.

Dino [16.04.2013 16:57:31]

#

Mitenköhän tämä käytännössä sitten tehdään?

Teuro [16.04.2013 17:03:10]

#

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();

Dino [16.04.2013 17:47:03]

#

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.

Dino [20.04.2013 16:00:30]

#

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.

Cornix [21.04.2013 14:32:13]

#

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ä).

Dino [21.04.2013 19:41:33]

#

Kiitos paljon! Tuo toimii täydellisesti!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta