NAME

 webtist::navigation.pm

DESCRIPTION

 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
 &param($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
 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)
 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)
 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)
 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)
 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)
 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)
 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