Stödfunktion för PHP

När du gör en serverinstallation av Consolo med konfigurationsverktyget, så har du möjlighet att samtidigt installera stödfunktioner för PHP. Då medföljer filerna inc_getStructure.php och inc_xml.php. Du hittar dem i Consolos systemkatalog consolo/. Den första filen innehåller stödfunktionen getStructure() vilken analyserar sidstrukturfilen consolo/register/structure.xml och skriver ut en <ul><li>-formaterad lista. Den andra filen innehåller ett antal funktioner som förbättrar xml-stödet i PHP.

Har du inte filerna så kan du ladda ner dem här ». Observera att du i inc_getStructure.php måste ersätta texten %subfolder% mot den katalog på servern där consolo har installerats.

Funktionen getStructure() ska inkluderas i alla sidor som ska skriva ut navigationen men det är bäst att göra anropet via ett annat skript, som i sin tur inkluderas på alla sidor. Då blir det enklare att förändra anropet i framtiden, och låta förändringen slå igenom på hela webbplatsen. Till exempel så kan du skapa en fil inc/incHeader.php som du inkluderar först i alla sidor. Filen incHeader.php kan till exempel utformas så här:

<?php
include_once $_SERVER["DOCUMENT_ROOT"]."/consolo/inc_getStructure.php";
?>
<div id="wrap">
  <div id="header">
  </div>

  <div id="navigation_top">
    <?php echo getStructure($_SERVER["SCRIPT_NAME"], 1, 1, false, "");?>
  </div>

  <div id= "content">

 

Ovanstående exempel fungerar endast om servern stöder variabeln DOCOMUENT_ROOT. Annars måste du istället hårdkoda detta värdet.

 

Som du ser görs ett anrop till getStructure. Anropet innebär att bara första nivån av strukturen anropas. Funktionen anropas så här:

getStructure(sActivePage, iFromLevel, iToLevel, bExpandAll, sHeader)

 

Invärden

Namn

Innebär

Beskrivning

sActivePage
Aktiv sida Sträng som anger vilken sida som ska markeras som aktiv, oftast _SERVER["SCRIPT_NAME"].
iFromLevel

Från nivå

Integer som anger på vilken nivå listan ska börja.

iToLevel

Till nivå

Integer som anger på vilken nivå listan ska sluta.

bExpandAll

Expandera alla

Boolean som anger om alla kataloger ska expanderas. Om false kommer endast den aktuella katalogen att expanderas om en sådan finns.

sHeader

Rubrik

Sträng som anger en rubrik som listan ska inledas med. Om sHeader = "auto" och iFromLevel är mer än 1, så kommer en rubrik läggas till automatiskt.

 

 

Exempel 1: Toppnavigation. Hämta alla sidor på första nivån.

echo getStructure($_SERVER["SCRIPT_NAME"], 1, 1, false, "")

 

Exempel 2: Undernavigation. Hämta alla sidor på nivå två till fyra.

echo getStructure($_SERVER["SCRIPT_NAME"], 2, 4, false, "auto")

 

Exempel 3: Fullständig struktur, men hämta bara sidor upp till nivå fem.

echo getStructure($_SERVER["SCRIPT_NAME"], 1, 5, true, "My website")

 

Exempel 4: Fullständig struktur, men expandera bara den aktuella sökvägen.

echo getStructure($_SERVER["SCRIPT_NAME"], 1, 99, false, "My website")