Page 1 of 1

{MY_LEVEL_NAV} Problem

Posted: Wed 16. Nov 2005, 15:34
by Heiko H.
Hallo,

ich versuche mit dem RT {MY_LEVEL_NAV} die zweite Menüebene abzubilden. Leider lässt sich mit {MY_LEVEL_NAV} nur die gesamte Menüstruktur anzeigen, logisch. {MY_LEVEL_NAV:x} wird nicht "replaced", steht also unverändert im Quelltext der ausgegebenen Seite :cry: Hier: http://www.phpwcms.de/forum/viewtopic.php?t=5493 wurde das Problem schonmal genannt, aber leider nicht gelöst.
Ich benutze phpwcms v1.2.5-DEV und bin nicht wirklich fit mit phpwcms, sicher ist nur irgendein Schalter aus oder so, aber wenn man nicht weiss, wonach man sucht, ist das sehr mühseelig.

Danke für eure Hilfe...

Posted: Wed 16. Nov 2005, 15:41
by cyrano
Hallo Heiko,

ich denke es ist sinnvoll wenn Du

Code: Select all

{NAV_ROW:ID:0}
nutzt für die zweite Ebene.

z.B. so im Template:

Code: Select all

{NAV:ROW}[br]{NAV_ROW:ID:1}
nach dem Muster:

Code: Select all

{NAV_ROW} -> means start at Top Level
{NAV_ROW:CURRENT:0} - show menu for current level without parent level link
{NAV_ROW:CURRENT:1} - show menu for current level with parent level link
{NAV_ROW:LevelID:0} - show menu for specific level without parent level link
{NAV_ROW:LevelID:1} - show menu for specific level with parent level link

Posted: Wed 16. Nov 2005, 16:40
by Heiko H.
Hallo cyrano,

dein Vorschlag ist ja nicht wirklich eine Lösung.

Mit {NAV_ROW:CURRENT:x} wird beim anklicken versucht eine Ebene tiefer "current" eben... anzuzeigen, es gibt aber nur zwei Ebenen, was eine leere Navigation zur Folge hat, sehr unschön. Dies lässt sich zwar wie hier beschrieben umgehen, aber bei einem Menü:

1. Level: 1 | 2 | 3 | 4

2. Level: 1.1 | 1.2 | 1.3

usw. ist 1.1 kein Link genau wie 2.1, 3.1 usw. sieht auch nicht so toll aus.

Bei {NAV_ROW:LevelID:x} ist's genau das Selbe mit dem weiteren Nachteil, dass man soviele Templates wie Menüeinträge im 1. Level erstellen müsste, das kann's ja auch nicht sein, oder?

Trotzdem Danke,

Ich bin aber immernoch für Vorschläge zu haben, Danke im Voraus.

Posted: Wed 16. Nov 2005, 18:41
by flip-flop
Hallo Heiko,

vielleicht löst das dein Problem: (Levelbasiert)

# {NAV_LIST_SETLEVEL:back:0 :0 :1 :1:id } – erklärt/ explained:
# :back name for upper level (blank for auto)
# :0 show upper level link (1: yes, 0:no)
# :0 set wich level to display (>= 0)
# :1 autohide? (1: yes, 0:no)
# :1 preserve background? (1: yes, 0:no)
# :id set css-id (anything, default is levelsensitive)

http://www.phpwcms.de/forum/viewtopic.p ... 79&start=0

Gruß Knut

Posted: Wed 16. Nov 2005, 21:29
by kiwix
Hallo,

wie wär's denn damit:

Code: Select all

<?php

if( ! ( strpos($content["all"],'{MY_LEVEL_NAV')===false ) ) {

	$complexNav0 = "<ul class=\"levelClass0\">&nbsp;</ul>";
	$complexNav1 = "<ul class=\"levelClass1\">&nbsp;</ul>";
	$complexNav2 = "<ul class=\"levelClass2\">&nbsp;</ul>";
	$complexNav3 = "<ul class=\"levelClass3\">&nbsp;</ul>";
	$complexNav4 = "<ul class=\"levelClass4\">&nbsp;</ul>";
	$complexNav  = "";

	// equal template_defaults for all NAV_ROW
	// don't forget to use $GLOBALS when using this in function
	// like: $GLOBALS['template_default']["nav_row"]["after"]
	// and : $GLOBALS['LEVEL_ID']
	$template_default["nav_row"]["after"]				= '</ul>';
	$template_default["nav_row"]["between"]				= "";
	$template_default["nav_row"]["link_before"]			= '<li class="inactive">';
	$template_default["nav_row"]["link_after"]			= '</li>';
	$template_default["nav_row"]["link_before_active"]	= '<li class="active">';
	$template_default["nav_row"]["link_after_active"]	= '</li>';
	$template_default["nav_row"]["link_direct_before"]			= '';
	$template_default["nav_row"]["link_direct_after"]			= '';
	$template_default["nav_row"]["link_direct_before_active"]	= '';
	$template_default["nav_row"]["link_direct_after_active"]	= '';

	foreach($LEVEL_ID as $depth => $thisStructureID) {

		switch($depth) {

			case 0: // Top Level
					$template_default["nav_row"]["before"]				= '<ul class="levelClass0">';
					$complexNav0 = nav_level_row($thisStructureID,0);
					$complexNav .= $complexNav0;

					break;

			case 1: // 1st Level
					$template_default["nav_row"]["before"]				= '<ul class="levelClass1">';
					$complexNav1 = nav_level_row($thisStructureID,0);
					$complexNav .= $complexNav1;
					if( trim( $complexNav1 ) == "" ) {
					  $complexNav1 .= $template_default["nav_row"]["before"] . "&nbsp;</ul>";
					}

					break;

			case 2: // 2nd Level
					$template_default["nav_row"]["before"]				= '<ul class="levelClass2">';
					$complexNav2 = nav_level_row($thisStructureID,0);
					$complexNav .= $complexNav2;
					break;

			case 3: // 3rd Level
					$template_default["nav_row"]["before"]				= '<ul class="levelClass3">';
					$complexNav3 = nav_level_row($thisStructureID,0);
					$complexNav .= $complexNav3;
					break;

			case 4: // 4th Level
					$template_default["nav_row"]["before"]				= '<ul class="levelClass4">';
					$complexNav4 = nav_level_row($thisStructureID,0);
					$complexNav .= $complexNav4;
					break;

		}
	}

	$content["all"] = str_replace('{MY_LEVEL_NAV}', $complexNav, $content["all"]);
	$content["all"] = str_replace('{MY_LEVEL_NAV:0}', $complexNav0, $content["all"]);
	$content["all"] = str_replace('{MY_LEVEL_NAV:1}', $complexNav1, $content["all"]);
	$content["all"] = str_replace('{MY_LEVEL_NAV:2}', $complexNav2, $content["all"]);
	$content["all"] = str_replace('{MY_LEVEL_NAV:3}', $complexNav3, $content["all"]);
	$content["all"] = str_replace('{MY_LEVEL_NAV:4}', $complexNav4, $content["all"]);

}

?>
Das ist eine angepaßte version, die ich mal für ein Projekt gebraucht und auf Basis der mitgelieferten sublevelnav.php erstellt habe.

Gruß
KiWiX

Posted: Wed 16. Nov 2005, 22:47
by Heiko H.
DANKE!!!! KiWiX

Das isses :D

{NAV_TABLE_SIMPLE} oder {NAV_LIST} funktionieren nicht

Posted: Wed 7. Dec 2005, 18:02
by oli
hallo,

nach ausgiebiger forensuche habe ich jetzt die text-inhalte in der neuen DB.
ich hatte mit 1.1-RC4_2004-06-22 eine seite gemacht, bei der die navigation über [PHP]echo build_sitemap(xy)[/PHP] gelöst ist.

jetzt steht eine update (schon aus sicherheitsgründen) an.
ich habe die inhalte lokal erstmal so in die DB bekommen:

mysql-dump per phpmyadmin in eine leere DB & dann manuell mit phpmyadmin die update.sql files (aus dem /setup ordner) ausgeführt.
(bilder fehlen noch, any ideas?)

meine frage: warum funktioniert selbst {NAV_TABLE_SIMPLE} oder {NAV_LIST} nicht mehr richtig?
es existieren von den jeweiligen "oberpunkten" keine links mehr zu den "unter-inhalten". es wird einfach auf die aktuelle ebene verlinkt.
Ich habe so keine möglichkeit, zu den inhalten zu kommen...

die seitenstruktur ist o.k. & die artikel sind sicht- & bearbeitbar.

BEISPIEL:
-home
--architecture
---2005 (z.B. hier gibts den link zu index.php?architecture, sollte ?2005 sein)
---2004
---2003
---etc.

ist das jetzt ein update-problem? und wie kann man des evtl beheben?
ich möchte diese ganze update-prozedur nicht nochmal machen müssen...
(phpwcms_1.1-RC4_2004-06-22 -->phpwcms_dev_1.2.6_27.11.2005) :?

Posted: Wed 7. Dec 2005, 18:09
by pico
Hi

du hast auch das upgrade-Script laufen lassen? Da gibt es auch 2 Funktionen für Filestorage und Articlecontent.

Posted: Wed 7. Dec 2005, 18:27
by flip-flop
Hi,

blöde Frage, aber sind die Alias-Bezeichnungen noch da?

Gruß Knut

Posted: Wed 7. Dec 2005, 18:47
by oli
fli-flop wrote:Hi,

blöde Frage, aber sind die Alias-Bezeichnungen noch da?

Gruß Knut
Du Guter!
& so schnell!!!
es stand überall eine weiterleitung drin...
dann kanns nat. nicht klappen :oops:

Danke!

@ pico: ja habe ich, & anschließend in phpMyadmin eingefügt... erfolglos
aber kann ich die bilder auch nachträglich reinbringen?
in den artikeln stehen ja die "richtigen" namen, die ich vergeben habe (z.b. markt.jpg)
die datenbank "erwartet" & verknüpft aber mit 1_11_W0ZWv8Fl8p-600x.jpg (wg eindeutigkeit & resize & so...)

kann man diese "eindeutige-namen-vergeben"prozedur auch in der datenbank manuell anstoßen & sich dabei der -noch vorhandenen- bild-namen bedienen? :?:

Posted: Wed 7. Dec 2005, 19:13
by oli
@fli-flop
du hast hier {NAV_LIST_SETLEVEL:back:0 :0 :1 :1:id } erklärt

das könnte ich sehr gut als "ersatz" für echo build_sitemap nehmen.
damit kann ich doch ein 2.level inkl. unterlevel anzeigen lassen, oder?

nur leider wird NAV_LIST_SETLEVEL bei mir nicht als RT erkannt.

was muß ich wohin (in /frontend_init :?: ) kopieren, damit es lauft?

Posted: Thu 8. Dec 2005, 01:52
by flip-flop
Hi,
damit kann ich doch ein 2.level inkl. unterlevel anzeigen lassen, oder?
ja aber nicht autom. aufgeklappt.
was muß ich wohin (in /frontend_init Question ) kopieren, damit es lauft?
siehe http://www.phpwcms.de/forum/viewtopic.p ... 79&start=0 von usta, da wird genau erklärt wie es geht.

Vielleicht hilft Dir auch das weiter: http://www.phpwcms.de/forum/viewtopic.php?t=9213

Gruß Knut

Posted: Thu 8. Dec 2005, 15:40
by oli
danke fli-flop!
fli-flop wrote:...ja aber nicht autom. aufgeklappt.
...
oh je. das alte problem.
Aber es gibts da eine möglichkeit!
an opened "sitemap-RT" from given ID...

http://www.phpwcms.de/forum/viewtopic.php?p=33548#33550
...
jetzt fehlen "nur noch" die Bilder, d.h. die verknüpfung in der datenbank.
weiß jmd, wo ich da suchen muß? (ja, die docu!, aber ich will doch direkt an der DB schrauben. & dazu hab ich - bis auf backup/restore nichts gefunden)


now the only problem is, to bring the picture-link back to the database.
it must be in upgrade_articleimages.php... but i´m not really a programmer :-(
any ideas, where to look for a hint?

Posted: Wed 26. Apr 2006, 21:38
by tinoo
kiwix wrote:Hallo,

wie wär's denn damit:
Perfekt! Genau was ich gesucht habe - und nach stundenlangem Suchen in diesem Forum gefunden habe... Ich muss wiedermal betonen wie verdammt schwer es ist diese verdammt guten Sachen zu finden...

Ufff, ich gönn mir jetzt erstmal ein kühles Blondes, zum Wohl!