Onlinebeispiel hab ich leider keins.
Also ich habe lokal einen Apache2. den spreche ich ueber http://127.0.0.1 bzw. http://localhost im Brwoser an. Dabei zeigt mir der Browser dann den Inhalt des Ordners /var/www/
Verzeichnisstruktur:
/var/www/stylesheet.css
/var/www/scwlib_breadcrumbs.php
/var/www/index.php
/var/www/ordner/test.php
in index.php funktioniert alles ohne probleme.
hier mal der code fuer test.php
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://127.0.0.1/stylesheet.css">
</head>
<body>
<div id="banner">hier kommt ein Banner rein</div>
<?php
include ("http://127.0.0.1/scwlib_breadcrumbs.php");
$breadcrumbs = new SCWlib_Breadcrumbs;
$breadcrumbs->printBreadcrumbs();
<div id="nav"> <? include ("http://127.0.0.1/navigation.php"); ?> </div>
</body>
</html>
das funktioniert nun soweit - ausser dien implementierung der scwlib_breadcrumbs.php
hier jetzt noch die scwlib_breadcrumbs.php:
<?php
// +---------------------+
// | SCWlib: Breadcrumbs |
// +---------------------+------------------+---------------+
// | scwlib_breadcrumbs.php | Version 0.2.7 |
// +----------------------------------------+---------------+
// | Copyright 2006 by Tim Gerundt <lgm@lgmsworld.de> |
// | |
// | Released under the "GNU Lesser General Public License" |
// +--------------------------------------------------------+
/**
* Klasse zum Erzeugen einer Brotkrumen-Navigation (Breadcrumb-Navigation).
*/
class SCWlib_Breadcrumbs {
var $_putintodivision, $_divisioncssclass, $_divisioncssid;
var $_putintoparagraph, $_paragraphcssclass, $_paragraphcssid;
var $_description;
var $_homename, $_homepath;
var $_separator;
var $_replaceunderlines;
var $_ucfirst, $_ucwords;
var $_removeextension;
var $_readtitlefrompage, $_titlepattern;
var $_replacements, $_usereplacements;
/**
* Konstruktor
*/
function SCWlib_Breadcrumbs() {
$this->_putintodivision = false;
$this->_divisioncssclass = '';
$this->_divisioncssid = '';
$this->_putintoparagraph = false;
$this->_paragraphcssclass = '';
$this->_paragraphcssid = '';
$this->_description = '» ';
$this->_homename = 'Home';
$this->_homepath = '/';
$this->_separator = ' » ';
$this->_replaceunderlines = true;
$this->_ucfirst = true;
$this->_ucwords = false;
$this->_removeextension = true;
$this->_readtitlefrompage = false;
$this->_titlepattern = '<title>(.*?)<\/title>';
$this->_replacements = Array();
$this->_usereplacements = true;
}
/**
* Legt fest, ob die Brotkrumen-Navigation in einen Bereich <div> gepackt werden soll.
* Ausserdem kann man eine optionale CSS-Klasse und/oder CSS-ID angeben.
*/
function setPutIntoDivision($value, $cssclass = '', $cssid = '') {
$this->_putintodivision = $value;
$this->_divisioncssclass = $cssclass;
$this->_divisioncssid = $cssid;
}
/**
* Legt fest, ob die Brotkrumen-Navigation in einen Absatz <p> gepackt werden soll.
* Ausserdem kann man eine optionale CSS-Klasse und/oder CSS-ID angeben.
*/
function setPutIntoParagraph($value, $cssclass = '', $cssid = '') {
$this->_putintoparagraph = $value;
$this->_paragraphcssclass = $cssclass;
$this->_paragraphcssid = $cssid;
}
/**
* Legt die Beschreibung vor der Brotkrumen-Navigation fest.
*/
function setDescription($description) {
$this->_description = $description;
}
/**
* Legt den Anzeigenamen der Startseite fest.
*/
function setHomeName($homename) {
$this->_homename = $homename;
}
/**
* Legt den Pfad der Startseite fest.
*/
function setHomePath($homepath) {
$this->_homepath = $homepath;
}
/**
* Legt das Trennzeichen der Brotkrumen fest.
*/
function setSeparator($separator) {
$this->_separator = $separator;
}
/**
* Legt fest, ob der Unterstrich "_" in den Brotkrumen ersetzt werden soll.
*/
function setReplaceUnderlines($value) {
$this->_replaceunderlines = $value;
}
/**
* Legt fest, ob das erste Zeichen jedes Brotkrumen GROSS geschrieben werden soll.
*/
function setUppercaseFirst($value) {
$this->_ucfirst = $value;
}
/**
* Legt fest, ob jedes erstes Zeichen eines Wortes innerhalb eines Brotkrumen GROSS geschrieben werden soll.
*/
function setUppercaseWords($value) {
$this->_ucwords = $value;
}
/**
* Legt fest, ob die Dateierweiterung entfernt werden soll.
*/
function setRemoveExtension($value) {
$this->_removeextension = $value;
}
/**
* Legt fest, ob der Titel aus der Seite gelesen werden soll.
*/
function setReadTitleFromPage($value) {
$this->_readtitlefrompage = $value;
}
/**
* Legt das Suchmuster (als Perl-kompatibler regul�rer Ausdruck) f�r den Titel fest.
*/
function setTitlePattern($titlepattern) {
$this->_titlepattern = $titlepattern;
}
/**
* L�scht die Ersetzungen.
*/
function clearReplacements() {
$this->_replacements = Array();
}
/**
* F�gt eine Ersetzungen hinzu.
*/
function addReplacement($search, $replace) {
$this->_replacements[$search] = $replace;
}
/**
* Legt fest, ob Ersetzungen verwendet werden sollen.
*/
function setUseReplacements($value) {
$this->_usereplacements = $value;
}
/**
* Liefert die Brotkrumen-Navigation zur�ck.
*/
function getBreadcrumbs() {
$html = '';
if ($this->_putintodivision == true) { //Wenn die Brotkrumen-Navigation in einen Bereich <div> gepackt werden soll...
$html .= '<div';
if ($this->_divisioncssid != '') { //Wenn eine CSS-ID angegeben wurde...
$html .= ' id="' . $this->_paragraphcssid . '"';
}
if ($this->_divisioncssclass != '') { //Wenn eine CSS-Klasse angegeben wurde...
$html .= ' class="' . $this->_paragraphcssclass . '"';
}
$html .= '>';
}
if ($this->_putintoparagraph == true) { //Wenn die Brotkrumen-Navigation in einen Absatz <p> gepackt werden soll...
$html .= '<p';
if ($this->_paragraphcssid != '') { //Wenn eine CSS-ID angegeben wurde...
$html .= ' id="' . $this->_paragraphcssid . '"';
}
if ($this->_paragraphcssclass != '') { //Wenn eine CSS-Klasse angegeben wurde...
$html .= ' class="' . $this->_paragraphcssclass . '"';
}
$html .= '>';
}
$html .= $this->_description;
$path = $this->_homepath;
$html .= '<a href="' . $path . '">' . $this->_homename . '</a>';
$parts = explode('/', $_SERVER['PHP_SELF']);
$partscount = count($parts);
for($i = 1; $i < ($partscount - 1); $i++) { //F�r alle Brotkrumen...
$path .= $parts[$i] . '/';
$title = $parts[$i];
if ($this->_usereplacements == true) { //Wenn "Ersetzungen" verwendet werden sollen...
reset($this->_replacements);
while (list($search, $replace) = each($this->_replacements)) { //F�r alle Ersetzungen...
$title = str_replace($search, $replace, $title);
}
}
if ($this->_replaceunderlines == true) { //Wenn der Unterstrich "_" in den Brotkrumen ersetzt werden soll...
$title = str_replace('_', ' ', $title);
}
if ($this->_ucfirst == true) { //Wenn das erste Zeichen jedes Brotkrumen GROSS geschrieben werden soll...
$title = ucfirst($title);
}
if ($this->_ucwords == true) { //Wenn jedes erstes Zeichen eines Wortes innerhalb eines Brotkrumen GROSS geschrieben werden soll...
$title = ucwords($title);
}
$html .= $this->_separator . '<a href="' . $path . '">' . $title . '</a>';
}
$title = '';
if ($this->_readtitlefrompage == true) { //Wenn der Titel aus der Seite gelesen werden soll...
$lines = @file($parts[$partscount-1]);
if (is_array($lines) == true) { //Wenn die Seite gelesen werden konnte...
foreach($lines as $line) { //F�r alle Zeilen...
preg_match('/' . $this->_titlepattern . '/i', $line, $found);
if ($found[1] != '') { //Wenn der Titel gefunden wurde...
$title = $found[1];
break;
}
}
}
}
if ($title == '') { //Wenn KEIN Titel ermittelt wurde...
$title = $parts[$partscount-1];
if ($this->_usereplacements == true) { //Wenn "Ersetzungen" verwendet werden sollen...
reset($this->_replacements);
while (list($search, $replace) = each($this->_replacements)) { //F�r alle Ersetzungen...
$title = str_replace($search, $replace, $title);
}
}
if ($this->_removeextension == true) { //Wenn die Dateierweiterung entfernt werden soll...
$title = substr($title, 0, strrpos($title, '.'));
}
if ($this->_replaceunderlines == true) { //Wenn der Unterstrich "_" in den Brotkrumen ersetzt werden soll...
$title = str_replace('_', ' ', $title);
}
if ($this->_ucfirst == true) { //Wenn das erste Zeichen jedes Brotkrumen GROSS geschrieben werden soll...
$title = ucfirst($title);
}
if ($this->_ucwords == true) { //Wenn jedes erstes Zeichen eines Wortes innerhalb eines Brotkrumen GROSS geschrieben werden soll...
$title = ucwords($title);
}
}
$html .= $this->_separator . '<b>' . $title . '</b>';
if ($this->_putintoparagraph == true) { //Wenn die Brotkrumen-Navigation in einen Absatz <p> gepackt werden soll...
$html .= '</p>';
}
if ($this->_putintodivision == true) { //Wenn die Brotkrumen-Navigation in einen Bereich <div> gepackt werden soll...
$html .= '</div>';
}
return $html;
}
/**
* Gibt die Brotkrumen-Navigation aus.
*/
function printBreadcrumbs() {
print($this->getBreadcrumbs());
}
}
?>