menülayouts für {NAV_TABLE_COLUMN}

Use GitHub to post feature requests for phpwcms.
Locked
fitus
Posts: 88
Joined: Sat 13. Dec 2003, 19:04

menülayouts für {NAV_TABLE_COLUMN}

Post by fitus »

im backend sollte es verschiedene menülayouts für {NAV_TABLE_COLUMN} geben.
Pappnase

Post by Pappnase »

hallo

wenn es im moment nicht noeglich ist mehere vorlagen fuer das menue zu verwalten. ist das doch eigentlich unsinnig oder!?
fitus
Posts: 88
Joined: Sat 13. Dec 2003, 19:04

Post by fitus »

@pappnase
wie meinst du das?
Pappnase

Post by Pappnase »

hallo

ganz einfach für das abändern des designs der [NAV_TABLE_COLUMN} muss jedesmal die template_default umgeschrieben werden!
User avatar
nekket
Posts: 613
Joined: Tue 18. Nov 2003, 15:46
Location: Baden-Baden
Contact:

Post by nekket »

Das geht... mit einem Trick.... und damit kannst du im Prinzip nicht nur (wie ich hier) die Farben verändern, sondern auch die Icons, Größe, etc.)

Schaut mal auf:
http://web44.p15158999.pureserver.info/ ... hp?deutsch

Ist derzeit noch in Bearbeitung.
Aber die Seite verwendet 3 Templates mit 3 Stylesheets.
Damit die Navigation von {NAV_TABLE_COLUMN} richtig funktioniert, muss man eigentlich auch 3 verschiedene Einträge für die config.template.default.php haben.

Das ganze kann man lösen:

1.) config.inc.php anpassen und dort

Code: Select all

 $phpwcms["allow_ext_init"]    = 1;        //allow including of custom external scripts at frontend initialization
$phpwcms["allow_ext_render"]  = 1;        //allow including of custom external scripts at frontend rendering
einstellen.

2.) Man erstellt eine Datei "nav_table.php" (Name egal, nur .php ist wichtig) im Verzeichnis "/phpwcms_template/inc_script/frontend_init"

Inhalt der Datei:

Code: Select all

<?php 
switch($GLOBALS['content']['struct'][$id]['acat_struct']) { 

// Für Unterseiten von Ebene 1
case '1': 
$template_default["nav_table_struct"]["row_norm_bgcolor"]		= "#6B7AA6";
$template_default["nav_table_struct"]["row_over_bgcolor"]		= "#6171A0";
$template_default["nav_table_struct"]["row_active_bgcolor"]		= "#8995B8";
$template_default["nav_table_struct"]["row_space_bgcolor"]		= "#A9B2CB";
break;


// Für Unterseiten von Ebene 2
case 2: 
$template_default["nav_table_struct"]["row_norm_bgcolor"]		= "#A40D3D";
$template_default["nav_table_struct"]["row_over_bgcolor"]		= "#A33659";
$template_default["nav_table_struct"]["row_active_bgcolor"]		= "#B63D64";
$template_default["nav_table_struct"]["row_space_bgcolor"]		= "#B63D64";
break;


 // Standard-Einstellungen, falls Artikel außerhalb von 1 oder 2:
default:
$template_default["nav_table_struct"]["row_norm_bgcolor"]		= "#6B7AA6";
$template_default["nav_table_struct"]["row_over_bgcolor"]		= "#6171A0";
$template_default["nav_table_struct"]["row_active_bgcolor"]		= "#8995B8";
$template_default["nav_table_struct"]["row_space_bgcolor"]		= "#A9B2CB";
break;

} 
?>
Jetzt kann man innhalb dieser Dateien an der richtigen Stelle die entsprechenden Werte eingeben.

3.) Wichtig ist jetzt noch, in der Datei config.template.default.inc.php die in der nav_table.php angegebenen Werte auszukommentieren:

Code: Select all

//$template_default["nav_table_struct"]["row_norm_bgcolor"]		= "#A40D3D";
$template_default["nav_table_struct"]["row_norm_bgimage"]		= "";
$template_default["nav_table_struct"]["row_norm_class"]			= "";
//	
//$template_default["nav_table_struct"]["row_over_bgcolor"]		= "#A33659"; //#AAB7C1
//$template_default["nav_table_struct"]["row_active_bgcolor"]		= "#B63D64";
$template_default["nav_table_struct"]["row_active_bgimage"]		= "";
$template_default["nav_table_struct"]["row_active_class"]		= "";
//
$template_default["nav_table_struct"]["row_space"]				= 1;
//$template_default["nav_table_struct"]["row_space_bgcolor"]		= "#B63D64";
Dann sollte alles sauber laufen....
:shock: Nekket :D
cherusker
Posts: 19
Joined: Thu 31. Mar 2005, 12:44

Funzt noch net ganz bei mir...

Post by cherusker »

Hallo Nekket!

Klingt ja nach einer tollen Lösung! Genau nach sowas such ich.
Hab alles so eingestellt wie Du es gesagt hast, aber es funzt noch nicht gleich sofort (war ja klar bei mir) :?

Die ertsellte PHP-Datei scheint ja gleich vom System eingelesen zu werden. Aber leider keine Veränderung in Sicht.
Was hat es denn genau mit "Case 1" und "Case 2" auf sich? Muss ich das so lassen oder eigenes eintragen? Warum hat Dein Case 1 bei dir Hochkommas und Dein Case 2 nicht? Spielt das eine Rolle?

Wär ja wirklich geil wenn meine 3 Templates jedes Mal ein eigenes Menü bekommen könnten!!

Vielen Dank im Voraus und Grüßle
Armin

EDIT: Vielleicht noch als Ergänzung: Es greift immer nur der Default-Eintrag. Case 1 und 2 werden ignoriert...
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Hallo cherusker,

nekket fragt da die Kategorie IDs ab!

Wenn da also steht:

// Für Unterseiten von Ebene 1
case '1':

Dann ist 1 nicht eine laufende Nummer, sondern die entsprechende Identnummer deiner Kategorie-Ebene!


Das wird bei dir sicher nicht zufällig auch 1 und 2 sein... das wirst du also deinen Gegebenheiten etsprechend anpassen müssen.

Deshalb greift bei deinen Versuchen auch nur der Defaultwert... da die Abfragen nicht zu einem Ergebnis führen :wink:
cherusker
Posts: 19
Joined: Thu 31. Mar 2005, 12:44

Identnummern

Post by cherusker »

Hallo Pepe!

Danke für Deine Antwort!
Ich dachte / befürchtete schon soetwas.

Sind die Kategorie IDs nicht die Nummern die ich sehe, wenn ich mit der Maus in der Seitenstruktur im Adminbereich über meine "Hauptpunkte" fahre? Direkt unter der Startseite? Die heißen nämlich 1, 2 und 13. Genauso ruf ich auch im Template dann das jeweilige Menü auf mit NAV_TABLE_COLUMN:1 , NAV_TABLE_COLUMN:2 und NAV_TABLE_COLUMN:13 .
Oder sind das nochmal andere? Wenn ja, wo krieg ich die raus? Oder kann ich die selber vergeben?

Für einen PHP-Einsteiger ist das doch noch etwas verwirrend... :)

Aber danke schonmal! Dieses Feature mit den unterschiedlichen Menüs für verschiedene Templates sollte unbedingt in das nächste Release von PHPWCMS.

EDIT: Wenn ich case 0 einsetze, ändert sich auch alles dementsprechend, aber dann greift das default nicht mehr... :?:
brans

Post by brans »

also die ID hast du genau richtig erkannt.
cherusker
Posts: 19
Joined: Thu 31. Mar 2005, 12:44

Post by cherusker »

Hi brans!

Bin schon verrückt geworden vor lauter suchen...
Dann ist bei mir wohl noch irgendwo anders der Wurm drin. Mit der 1.2.1-DEV sollte es doch funzen, oder?
Ich glaub ich lad WCMS am besten nochmal in einen neuen Ordner hoch und teste mal "out-of-the-box".

Merci & Gruß
Armin
cherusker
Posts: 19
Joined: Thu 31. Mar 2005, 12:44

Post by cherusker »

Hallo nochmals!

Hab jetzt PHPWCMS nochmals (bei einem anderen Provider) neu hochgeladen. 3 Layouts erstellt, 3 Vorlagen erstellt, 3 Hauptseiten (mit jeweils 3 Unterseiten mit jew. den richtigen Templates zugewiesen) erstellt, die Anpassungen vorgenommen, und:

immer noch das selbe Lied :cry: Die Menüs übernehmen einfach die Default-Einstellungen. Den ersten Schritt von Nekket (Anpassung der config.inc.php) musste ich übrigens nicht vornehmen, da beide Werte schon bei "1" standen. Aber das gehört wohl so, oder?

Hat noch irgend jemand eine Idee, woran das liegen könnte? Ich mit meinen besch...eidenen Kenntnissen bin definitiv am Ende. Wäre echt cool, wenn jemand einen Geistesblitz posten könnte!!

Merci
Armin
User avatar
nekket
Posts: 613
Joined: Tue 18. Nov 2003, 15:46
Location: Baden-Baden
Contact:

Post by nekket »

Hallo,

die ID bezieht sich auf den Ordner, in dem ein Menüpunkt enhalten ist.

Beispiel: (die id's sind willkürlich in diesem Beispiel)

Code: Select all

Menüpunkt 1 (id=1)
  - Untermenüpunkt 1.1 (id = 5)
  - Untermenüpunkt 1.2 (id = 8)
  - Untermenüpunkt 1.3 (id = 10)

Menüpunkt 2 (id=2)
  - Untermenüpunkt 2.1 (id = 12)
  - Untermenüpunkt 2.2 (id = 14)
  - Untermenüpunkt 2.3 (id = 25)
Mein gepostetes Script macht nun folgendes:
Es wird abgefragt, in welchem übergeordneten Ordner ein Untermenüpunkt liegt.

Konkretes Beispiel:

Code: Select all

<?php 
switch($GLOBALS['content']['struct'][$id]['acat_struct']) { 

// Für Unterseiten von Menüpunkt 1 
case '1': 
$template_default["nav_table_struct"]["row_norm_bgcolor"]      = "#6B7AA6"; 
$template_default["nav_table_struct"]["row_over_bgcolor"]      = "#6171A0"; 
$template_default["nav_table_struct"]["row_active_bgcolor"]      = "#8995B8"; 
$template_default["nav_table_struct"]["row_space_bgcolor"]      = "#A9B2CB"; 
break; 


// Für Unterseiten von Menüpunkt 2 
case 2: 
$template_default["nav_table_struct"]["row_norm_bgcolor"]      = "#A40D3D"; 
$template_default["nav_table_struct"]["row_over_bgcolor"]      = "#A33659"; 
$template_default["nav_table_struct"]["row_active_bgcolor"]      = "#B63D64"; 
$template_default["nav_table_struct"]["row_space_bgcolor"]      = "#B63D64"; 
break; 


 // Standard-Einstellungen, falls Artikel außerhalb von 1 oder 2: 
default: 
$template_default["nav_table_struct"]["row_norm_bgcolor"]      = "#6B7AA6"; 
$template_default["nav_table_struct"]["row_over_bgcolor"]      = "#6171A0"; 
$template_default["nav_table_struct"]["row_active_bgcolor"]      = "#8995B8"; 
$template_default["nav_table_struct"]["row_space_bgcolor"]      = "#A9B2CB"; 
break; 

} 
?>
Was folgt daraus?
- Alle Navigationpunkte und deren Artikel "innerhalb" von Menüpunkt 1 erhalten die Settings, die unter "case = 1" gemacht wurden.
- Alle Navigationpunkte und deren Artikel "innerhalb" von Menüpunkt 2 erhalten die Settings, die unter "case = 2" gemacht wurden.

Alle anderen Menüpunkte bzw. Artikel bekommen die default Einstellung.

Achtung:
Erstellst du innerhalb eines Menüpunktes nochmal einen Menüpunkt, musst du seinen übergeordneten Menüpunkt auch in die "liste" mit "case = x" aufnehmen.

Soweit klar? :D
strandel
Posts: 50
Joined: Sun 2. May 2004, 22:45

NOT WORKING: {NAV_TABLE_COLUMN:1} and different color sets

Post by strandel »

I have the current release 1.2.3 installed. Whatever I do I can not make it work with 2 or 3 different color layouts in the {NAV_TABLE_COLUMN:1}.

I tried the above instruction step by step but in my configuration always the default color set will be used. I am really frustrated. I spent already 6 1/2 hours on this problem only.
Locked