Brugere lige nu: 1 Hjemmesideskolen - Lav bread crumbs med php

Lav bread crumbs med php

Siden er opdateret d. 11.5.2014

En anden mulighed, hvis du ikke kan bruge asp på din server, er at lave det med php, hvis det er den mulighed, dit web-hotel tilbyder.

Det første, du skal gøre, for at få dette script til at virke fuldt ud, er, at du før header på dine sider indsætter denne kode:

<?php $strTitle="Indsæt ønsket tekst til sidetitel her";?>

Koden skal altså stå før din doctypedefinition, se herom på siden om at starte en ny side. Din hjemmesides <head>-sektion kan hermed komme til at se således ud:

<?php $strTitle="Indsæt ønsket tekst til sidetitel her";?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title><?php echo $strTitle; ?></title>
<link href="din.css" rel="stylesheet" type="text/css" />
<link href="dinp.css" rel="stylesheet" type="text/css" media="print" />
<link rel="shortcut icon" href="favicon.ico" />
</head>

Med php-koden i title genbruges den titel, der blev indsat i første linje.

Når header er blevet forberedt som beskrevet ovenfor, laver du en php-fil (kald den breadcrumb.php) med dette indhold:

Du er her: <?

$path = $_SERVER["PHP_SELF"];
$tree = split("/",$path);
$breadcrumb = "";
if (count($tree)==2 && $tree[1]=="index.php") {
$breadcrumb = "home";
} else {
$breadcrumb = "<a href=\"/index.php\">Home</a>";
for ($i=1; $i<count($tree)-1; $i++) {
  if (strstr($tree[$i],".")) {
    if ($tree[$i]!="index.php") {
     $pagename = split("\.",$tree[$i]);
     $breadcrumb = $breadcrumb . " - " . str_replace("_"," ",$pagename[0]);
   }
  } else {
    if ($tree[$i+1]=="index.php") {
     $breadcrumb = $breadcrumb . " &gt; " . str_replace("_"," ",$tree[$i]);
   } else {
     $breadcrumb = $breadcrumb . " &gt; <a href=\"";
     for ($j=1; $j<=$i; $j++) {
      $breadcrumb = $breadcrumb . "/" . $tree[$j];
     }
     $breadcrumb = $breadcrumb . "/\">" . $tree[$i] . "</a>";
   }
  }
 }
}
echo $breadcrumb;
?>

Dernæst skal du indsætte denne stump kode, hvor du vil have din breadcrumb-navigation indsat:

<?php include("breadcrumbs.php"); ?><?php echo $strTitle; ?>

Første led kalder breadcrumb.php og får det meste af bread crumb strengen derfra. Andet led indsætter sidens titel. Tilsammen udgør det en komplet 'bread crumbs'-liste.


Du er nu næsten klar med din bread crumb navigation. Der mangler bare lige en enkelt lille detalje, før det hele fungerer. Hvis du holder markøren hen over 'bread crumb'-linjen øverst på denne side, vil der ved de første to stumper tekst (Forsiden og scripts) i statuslinjen komme til at stå:

   http://hjemmesideskolen.dk/
   http://hjemmesideskolen.dk/scripts/

Disse to ord fungerer altså som links til mapper. Men for at det kan virke som links til faktiske sider, skal der i mapperne ligge en side, der har det serverbestemte defaulte navn. Når jeg skriver 'serverbestemte', er det fordi der ikke er nogen fast regel for, hvad denne side skal hedde. Jeg kan give nogle eksempler:

Azero - muligheder i nævnte prioritetsrækkefølge:
default.php, default.php, default.shtml, default.html, default.htm,
index.php, index.php, index.shtml, index.html, index.htm
UnoEuro - mulighederne afhænger af valgt servertype:
index.php, index.shtml, index.html, index.htm eller
index.php, index.html, index.html

Du må med andre ord tjekke hos dit web-hotel, hvad siden skal hedde.

Eller du kan lave et par sider næsten uden indhold og døbe dem "default.html" og "index.html". Læg dem ud i en mappe på serveren og i en browser kalder du nu mappen uden at angive et sidenavn. Derved får du den serverbestemte defaulte side. Når du har detekteret det, kan du slette den anden og i stedet kopiere den fundne side med nye endelser: .htm, .shtml, .asp og .php. Kald mappen igen og se hvilken side du faktisk får.

Når du har fundet ud af, hvad siden skal hedde, er det blot at lave en helt tom side, der laver en øjeblikkelig viderestilling til en at dig valgt side, f.eks. forside.php:

<?php header("Location: forside.php"); ?>

^ Tilbage til sidens top

Valid XHTML og CSS / Copyright © Hjemmesideskolen juli 2004
Hjemmesideskolen
Du er her: Forsiden - scripts - Lav bread crumbs med php
Brugere lige nu: 1
Home Mail