Anbei ein kleiner Auszug aus unserer Moduldokumentation
die Basis unseres Webtist CMS Systems
Das System setzen wir erfolgreich seit Jahren
bei unseren Geschäftspartnern ein, es wird stets weiterentwickelt
und der Technik entsprechend angepasst.
Modulbeschreibung webtist::navigation.pm
Version 1.75
Genneriert diverse Navigationselement
AUTOR
Marc Hanschur, Space4Data / WEBTIST [NOSPAMmarc@hanschur.de]
Aenderungsliste im PerlModul
SYNOPSIS
das Modul webtist wird benoetigt
das Module DBI wird benoetigt aber nur bei Merhsprachigkeit
Aufruf
use webtist::navigation;
$webtist::navigation = new webtist::navigation();
main.txt File im Navigationsverzeichnis
das NavigationsHaupt File muss vorhanden sein ansonsten kann keine
Navigation Aufgebaut werden. Das Verzeichnis wo die Navigationsfiles
liegen kann in der web.cfg angegeben werden.
NAVPATH => Verzeichnis
der Aufbau aller Navigationsfiles ist gleich (CSV Struktur)
Beispiel
ID;Name;UnterMenuedatei;TemplateFile1:TemplateFile2:TemplateFile3;Berechtigung;TitelText;RWURI;
zu beachten ist damit die ID in jedem File eindeutig ist
ID => 01
Name => Navigationsname oder bei mehrsprachigkeit %%NAV:LANG:01%%
UnterMenueDatei => test.txt
TemplateFile => TemplateFile oder mehrere durch : getrennt
Mehrsrachigkeit Name "NAV"
METHODS
new
Konstruktor
param
Rckgabe von Globalen Variablen
Aufruf
¶m($variable,$wert,$todo)
Parameter
$variable => Name der Variable
$wert => Inhalt der Variablen
$todo => was soll die SUB machen
0 oder nix == Variable ausgeben
1 == Variable setzten
Rueckgabe
nur bei $todo 0 oder '' dann ein Skalar mit dem Inhalt der Variablen
language
Wieviele Sprachen gibts ausgabe als Linkliste
wenn kein Template angeben wird wird aus der web.cfg das Template gezogen sonst aus der main.cfg
vom Modul. Die Ausgabe ist eine HTML Linkliste mit allen werden fr die Sprachsteuerung.
Die Mehrsprachigkeit kann auf DB oder Filbasis Funktionieren
bitte hierzu im Module Webtist die Subroutinen weblang Beschreibung ansehen
Aufruf
&language($template)
Parameter
$template => welches Template wird fr die Sprachausgabe ben�igt
Rueckgabe
ein Skalar mit HTML als ausgabe
navebene01
Navigation Ebene 1
Die Ebene 1 wird im Navi Verzeichnis mit main.txt definiert wenn die
gewnschten werte nicht bergeben werden wird zuerst versucht das gesamte aus der
web.cfg/main.cfg zu holen. Somit bleibt die Funktion immer erhalten.
Weiter definitionen in der web.cfg
NAVPATH => Verzeichnis wo die Navigationsdateien liegen (main.txt, *.txt)
NAVTBL => Verzeichnis/Datei vom Tabellentemplate
NAVHOME => Verzeichnis/Datei vom Homelink
NAVTR => Verzeichnis/Datei vom Tabellenreihentemplate
NAVTD01 => Verzeichnis/Datei vom TD element der Hauptnavigation
NAVLNK => Verzeichnis/Datei Template wie soll der Link aussehen
NAVAKT => Verzeichnis/Datei Template wie soll der aktive Link ausgeben werden
die Werte sind in Form von eine CSV Liste in der web.cfg zu erfassen
Die Beschreibung der web.cfg Dateien erfolgt im Modul webtist
Aufruf
&navebene01($stdtbltmpl,$stdhometmpl,$stdtrtmpl,$stdtdtmpl,$stdlnktmpl,$stdnavtmpl,$navpath)
Parameter
in der WEB.CFG der Pfad wo das Navigations Files liegen ohne endenden "/" Hauptmenue Datei muss immer main.txt
heisen
$stdtbltmpl => Pfad/Datei von tabellentemplate
$stdhometmpl => Pfad/Datei von Homelink
$stdtrtmpl => Pfad/Datei von tabellenreihe
$stdtdtmpl => Pfad/Datei von td element Hauptnavigation
$stdlnktmpl => Pfad/Datei wie soll der Link aussehen
$stdnavtmpl => Pfad/Datei wie soll die aktive ausgabe aussehen
$navpath => der Pfad zu den Navigationsdateien damit man mehrere Navigationen einblenden kann
Rueckgabe
ein Skalar mit HTML Inhalt (kommplette Navigation)
navebene02
Navigation Ebene 2 kann im PGM erst nach Ebene 1 geladen werden
Die Ebene 2 wird im Navi Verzeichnis definiert wenn die
gewnschten werte nicht bergeben werden wird zuerst versucht das gesamte aus der
web.cfg/main.cfg zu holen. Somit bleibt die Funktion immer erhalten.
Weiter definitionen in der web.cfg
NAVTBL => Verzeichnis/Datei vom Tabellentemplate
NAVTR => Verzeichnis/Datei vom Tabellenreihentemplate
NAVTD02 => Verzeichnis/Datei vom TD element der Hauptnavigation
NAVLNK => Verzeichnis/Datei Template wie soll der Link aussehen
NAVAKT => Verzeichnis/Datei Template wie soll der aktive Link ausgeben werden
die Werte sind in Form von eine CSV Liste in der web.cfg zu erfassen
Die Beschreibung der web.cfg Dateien erfolgt im Modul webtist
Aufruf
&navebene02($stdtbltmpl,$stdhometmpl,$stdtrtmpl,$stdtdtmpl,$stdlnktmpl,$stdnavtmpl,$navpath)
Parameter
in der WEB.CFG der Pfad wo das Navigations Files liegen ohne endenden "/" Hauptmenue Datei muss immer main.txt
heisen
$stdtbltmpl => Pfad/Datei von tabellentemplate
$stdtrtmpl => Pfad/Datei von tabellenreihe
$stdtdtmpl => Pfad/Datei von td element Hauptnavigation
$stdlnktmpl => Pfad/Datei wie soll der Link aussehen
$stdnavtmpl => Pfad/Datei wie soll die aktive ausgabe aussehen
$navpath => der Pfad zu den Navigationsdateien damit man mehrere Navigationen einblenden kann
Rueckgabe
ein Skalar mit HTML Inhalt (kommplette Navigation)
navebene03
Navigation Ebene 3 kann im PGM erst nach Ebene 2 geladen werden
Die Ebene 2 wird im Navi Verzeichnis definiert wenn die
gewnschten werte nicht bergeben werden wird zuerst versucht das gesamte aus der
web.cfg/main.cfg zu holen. Somit bleibt die Funktion immer erhalten.
Weiter definitionen in der web.cfg
NAVTBL => Verzeichnis/Datei vom Tabellentemplate
NAVTR => Verzeichnis/Datei vom Tabellenreihentemplate
NAVTD03 => Verzeichnis/Datei vom TD element der Hauptnavigation
NAVLNK => Verzeichnis/Datei Template wie soll der Link aussehen
NAVAKT => Verzeichnis/Datei Template wie soll der aktive Link ausgeben werden
die Werte sind in Form von eine CSV Liste in der web.cfg zu erfassen
Die Beschreibung der web.cfg Dateien erfolgt im Modul webtist
Aufruf
&navebene03($stdtbltmpl,$stdhometmpl,$stdtrtmpl,$stdtdtmpl,$stdlnktmpl,$stdnavtmpl,$navpath)
Parameter
in WEB.CFG der Pfad wo das Navigations Files liegen ohne endenden "/" Hauptmenue Datei muss immer main.txt
heisen
$stdtbltmpl => Pfad/Datei von tabellentemplate
$stdtrtmpl => Pfad/Datei von tabellenreihe
$stdtdtmpl => Pfad/Datei von td element Hauptnavigation
$stdlnktmpl => Pfad/Datei wie soll der Link aussehen
$stdnavtmpl => Pfad/Datei wie soll die aktive ausgabe aussehen
$navpath => der Pfad zu den Navigationsdateien damit man mehrere Navigationen einblenden kann
Rueckgabe
ein Skalar mit HTML Inhalt (kommplette Navigation)
navlinks
Navigation links herstellen in dreifacher ebene zum Navigieren
werden gewnschte werte nicht bergeben wird zuerst versucht das gesamte aus der
web.cfg/main.cfg zu holen. Somit bleibt die Funktion immer erhalten.
Weiter definitionen in der web.cfg
NAVPATH => Verzeichnis wo die Navigationsdateien liegen (main.txt, *.txt)
NAVTBL => Verzeichnis/Datei vom Tabellentemplate
NAVHOME => Verzeichnis/Datei vom Homelink
NAVTR => Verzeichnis/Datei vom Tabellenreihentemplate
NAVTD01 => Verzeichnis/Datei vom TD element der Hauptnavigation
NAVTD02 => Verzeichnis/Datei vom TD element der Hauptnavigation
NAVTD03 => Verzeichnis/Datei vom TD element der Hauptnavigation
NAVLNK => Verzeichnis/Datei Template wie soll der Link aussehen
NAVAKT => Verzeichnis/Datei Template wie soll der aktive Link ausgeben werden
NAVEBENE => Zahlenwert von 1-3 wieviel Navigationsebenen werden Angezeigt 1,2 oder 3
die Werte sind in Form von eine CSV Liste in der web.cfg zu erfassen
Die Beschreibung der web.cfg Dateien erfolgt im Modul webtist
Aufruf
&navlinks($stdtbltmpl,$stdtrtmpl,$stdtdtmpl,$stdlnktmpl,$stdnavtmpl,$stdtd01tmpl,$stdtd02tmpl,$stdhometmpl,$ebene,$navpath,$navtodo)
Parameter
in WEB.CFG der Pfad wo das Navigations Files liegen ohne endenden "/" Hauptmenue Datei muss immer main.txt
heisen
$stdtbltmpl => Pfad/Datei von tabellentemplate
$stdhometmpl => Pfad/Datei von Homelink
$stdtrtmpl => Pfad/Datei von tabellenreihe
$stdtdtmpl => Pfad/Datei von td element Hauptnavigation
$stdtd01tmpl => Pfad/Datei von td element Unternavigation
$stdtd02tmpl => Pfad/Datei von td element Unternavigation
$stdlnktmpl => Pfad/Datei wie soll der Link aussehen
$stdnavtmpl => Pfad/Datei wie soll die aktive ausgabe aussehen
$ebenenanzahl => Wieviel Ebenen sollen Ausgegeben Werden 0 oder nichts sind alle
$navpath => der Pfad zu den Navigationsdateien damit man mehrere Navigationen einblenden kann
$navtodo => sitemap = SiteMap
Rueckgabe
ein Skalar mit HTML Inhalt (kommplette Navigation)
navlist
Navigation in form eine Liste herstellen in dreifacher ebene zum Navigieren
werden gewnschte werte nicht bergeben wird zuerst versucht das gesamte aus der
web.cfg/main.cfg zu holen. Somit bleibt die Funktion immer erhalten.
Weiter definitionen in der web.cfg
NAVPATH => Verzeichnis wo die Navigationsdateien liegen (main.txt, *.txt)
NAVLIST => Verzeichnis/Datei vom Listtemplate
NAVEBENE => Zahlenwert von 1-3 wieviel Navigationsebenen werden Angezeigt 1,2 oder 3
die Werte sind in Form von eine CSV Liste in der web.cfg zu erfassen
Die Beschreibung der web.cfg Dateien erfolgt im Modul webtist
Aufruf
&navlinks($stdlisttmpl,$ebene,$navpath,$navtodo)
Parameter
in WEB.CFG der Pfad wo das Navigations Files liegen ohne endenden "/" Hauptmenue Datei muss immer main.txt
heisen
$stdtmpl => Pfad/Datei von tabellentemplate
$ebenenanzahl => Wieviel Ebenen sollen Ausgegeben Werden 0 oder nichts sind alle
$navpath => der Pfad zu den Navigationsdateien damit man mehrere Navigationen einblenden kann
$navtodo => sitemap = SiteMap
Rueckgabe
ein Skalar mit HTML Inhalt (kommplette Navigation)
navshop
Navigation Shop 2 fache Ebene herstellen in dreifacher ebene zum Navigieren
werden gewnschte werte nicht bergeben wird zuerst versucht das gesamte aus der
web.cfg/main.cfg zu holen. Somit bleibt die Funktion immer erhalten.
Weiter definitionen in der web.cfg
SHNAVPATH => Verzeichnis wo die Navigationsdateien liegen (main.txt, *.txt)
SHNAVTBL => Verzeichnis/Datei vom Tabellentemplate
SHNAVTR => Verzeichnis/Datei vom Tabellenreihentemplate
SHNAVTD01 => Verzeichnis/Datei vom TD element der Hauptnavigation
SHNAVTD02 => Verzeichnis/Datei vom TD element der Hauptnavigation
SHNAVLNK => Verzeichnis/Datei Template wie soll der Link aussehen
SHNAVAKT => Verzeichnis/Datei Template wie soll der aktive Link ausgeben werden
SHNAVWAKO => Verzeichnis/Datei fr Warenkorbnavigation
die Werte sind in Form von eine CSV Liste in der web.cfg zu erfassen
Die Beschreibung der web.cfg Dateien erfolgt im Modul webtist
Tabellenformen die ben�igr werden:
Navigation Hauptgruppe
CREATE TABLE snavhgr (
snavhgr_id int(11) NOT NULL auto_increment,
snavugr_sellid varchar(255) NOT NULL default 'none',
snavhgr_name varchar(15) NOT NULL default 'S-Hauptgruppe',
snavhgr_rfolg int(2) NOT NULL default '0',
snavhgr_desc varchar(200) NOT NULL default 'Shop-Beschreibung',
PRIMARY KEY (snavhgr_id),
KEY snavhgr_name (snavhgr_name)
) TYPE=MyISAM;
Navigation Seller Zuordnung UGR
CREATE TABLE snavsell (
snavsell_id int(11) NOT NULL auto_increment,
snavsell_sellid char(255) NOT NULL default 'www',
snavsell_ugrid int(11) NOT NULL default '0',
PRIMARY KEY (snavsell_id)
) TYPE=MyISAM;
Navigation Untergruppe
CREATE TABLE snavugr (
snavugr_id int(11) NOT NULL auto_increment,
snavugr_sellid varchar(255) NOT NULL default 'none',
snavugr_name varchar(15) NOT NULL default 'S-Untergruppe',
snavugr_desc varchar(200) NOT NULL default 'Shop-Beschreibung',
snavugr_hgr_id int(10) NOT NULL default '1',
snavugr_rfolg int(2) NOT NULL default '0',
PRIMARY KEY (snavugr_id),
KEY snavugr_name (snavugr_name)
) TYPE=MyISAM;
Warenkorb / Bestellungen
CREATE TABLE orderart (
orderart_id int(11) NOT NULL auto_increment,
orderart_art_id int(11) NOT NULL default '0',
orderart_piece int(11) NOT NULL default '0',
orderart_www_id varchar(150) NOT NULL default '',
orderart_date timestamp(14) NOT NULL default '',
PRIMARY KEY (orderart_id)
) TYPE=MyISAM;
Aufruf
&navshop($stdtbltmpl,$stdtrtmpl,$stdtdtmpl,$stdlnktmpl,$stdnavtmpl,$stdtd01tmpl,$navpath,$shbid,$stdwakotmpl)
Parameter
in WEB.CFG der Pfad wo das Navigations Files liegen ohne endenden "/" Hauptmenue Datei muss immer main.txt
heisen
$stdtbltmpl => Pfad/Datei von tabellentemplate
$stdtrtmpl => Pfad/Datei von tabellenreihe
$stdtdtmpl => Pfad/Datei von td element Hauptnavigation
$stdtd01tmpl => Pfad/Datei von td element Unternavigation
$stdlnktmpl => Pfad/Datei wie soll der Link aussehen
$stdnavtmpl => Pfad/Datei wie soll die aktive ausgabe aussehen
$navpath => der Pfad zu den Navigationsdateien damit man mehrere Navigationen einblenden kann
$shbid => Buissnespartner ID
$stdwakotmpl => Warenkorbtemplate
Rueckgabe
ein Skalar mit HTML Inhalt (kommplette Navigation)
navunten
Navigation unten herstellen in 2 Facher Ebene zum Navigiren
werden gewnschte werte nicht bergeben wird zuerst versucht das gesamte aus der
web.cfg/main.cfg zu holen. Somit bleibt die Funktion immer erhalten.
Weiter definitionen in der web.cfg
NAVPATH => Verzeichnis wo die Navigationsdateien liegen (main.txt, *.txt)
NAVTBL => Verzeichnis/Datei vom Tabellentemplate
NAVHOME => Verzeichnis/Datei vom Homelink
NAVTR => Verzeichnis/Datei vom Tabellenreihentemplate
NAVTD01 => Verzeichnis/Datei vom TD element der Hauptnavigation
NAVTD02 => Verzeichnis/Datei vom TD element der Hauptnavigation
NAVLNK => Verzeichnis/Datei Template wie soll der Link aussehen
NAVAKT => Verzeichnis/Datei Template wie soll der aktive Link ausgeben werden
die Werte sind in Form von eine CSV Liste in der web.cfg zu erfassen
Die Beschreibung der web.cfg Dateien erfolgt im Modul webtist
Aufruf
&navunten($stdtbltmpl,$stdtrtmpl,$stdtdtmpl,$stdlnktmpl,$stdnavtmpl,$stdtd01tmpl,$stdtd02tmpl,$stdhometmpl,$navpath)
Parameter
in WEB.CFG der Pfad wo das Navigations Files liegen ohne endenden "/" Hauptmenue Datei muss immer main.txt
heisen
$stdtbltmpl => Pfad/Datei von tabellentemplate
$stdhometmpl => Pfad/Datei von Homelink
$stdtrtmpl => Pfad/Datei von tabellenreihe
$stdtdtmpl => Pfad/Datei von td element Hauptnavigation
$stdtd01tmpl => Pfad/Datei von td element Unternavigation
$stdtd02tmpl => Pfad/Datei von td element Unternavigation
$stdlnktmpl => Pfad/Datei wie soll der Link aussehen
$stdnavtmpl => Pfad/Datei wie soll die aktive ausgabe aussehen
$navpath => der Pfad zu den Navigationsdateien damit man mehrere Navigationen einblenden kann
Rueckgabe
ein Skalar mit HTML Inhalt (kommplette Navigation)
WARNING
ich kann im Moment keine Warnungen erkennen
BUGS
Transparent wird durch eine Remotedelegationkerbe vollendet, die unter bestimmten Umstaeden brechen
konnte. Wenn dieses Ihnen geschieht, informieren Sie mich bitte.
Informieren Sie mich, wenn Sie einiges finden.
ACKNOWLEDGEMENTS
Thanks to Susanne Herz for inspiration, laughs and all 'round good times;
and Linus Torvalds for all the great software.
LICENSE
Dieser Code ist freie Software; Sie koenen ihn neuverteilen und/oder ihn unter den gleichen
Bezeichnungen wie Perl selbst aedern.
DISCLAIMER
Dieses ist freie Software. Wenn es bricht, besitzen Sie beide Teile.
POD ERRORS
Hey! The above document had some coding errors, which are explained below:
Around line 31:
Non-ASCII character seen before =encoding in '�ergeordnetes'. Assuming UTF-8