Seite 1 von 1

Navi Probleme ...

Verfasst: Di 1. Aug 2006, 14:22
von hegi
Hallo,

bin grad dabei meine Site in Contenido 4.6.8 neu hochzuziehen zwecks Relaunch. Dazu habe ich folgende Bäume angelegt:

Code: Alles auswählen

Hauptnavi
- Punkt 1
- Punkt 2
- Punkt 3
- Punkt 4
- Punkt 5
- Punkt 6
Hilfsnavi
- Sitemap
- Impressum
Für die verwendeten Templates habe ich die Module "Hauptnavigation" und "Hilfsnavigation" aus dem Contenido Standard (leerer Mandant mit Modulen) eingebunden und dort unter Vorkonfiguration die jew. Startpunkte (Hauptnavi/ Hilfsnavi) ausgewählt.

Nur habe ich keine Hauptnavigation, die angezeigt wird :cry:. Außerdem Sagt mir die Hilfnavigation "Hauptnavigation | Hilfsnavigation | English" - Frage mich wie die auf "English" kommt :?:. - Habe ich jedenfalls nirgends definiert.

Nun kommt aber der Hammer: Für die Sitemap musste ich ein neues Template erstellen, dass statt Text das Sitemap-Modul nutzt. Das habe ich zum Schluss gemacht. Nun ist auf einmal die Haupt- und Hilfs-Navi da - Aber nur auf der Sitemap-Seite (und da ist auch wieder der Punkt "English" in der Hilfs-Navi).

Gut dachte, ich, dann stellen wir das nochmal neu ein bei der Template-Vorkonfiguration. Habe andere Module ausgewählt, gespeichert, wieder die Navi-Module eingebunden, gespeichert und korrekt vorkonfiguriert. ... Aber ich habe immer noch keine Navigation :cry:.

Kann mir da mal jemand sagen, was ich falsch mache?

1000 Dank

Stefan.

Verfasst: Mi 2. Aug 2006, 08:45
von Sundriver
Hi hegi,

Also, die Sache mit dem English kannst du beenden indem du die zweite Sprache, also in dem Fall English, im Backend abschaltest ( default sind sie beide drin ). Alternativ dazu kannst du im Modul "Hilfsnavigation" die Funktion für das Sprachen Switching auch rauseditieren

Code: Alles auswählen

switch($lang){
	case '2':
		//englisch -> deutsch
		echo '<a href="'.$sess->url('front_content.php?changelang=1').'" class="additionalnavi">'.mi18n("Deutsch").'</a>';
		break;
	default:
		//deutsch -> englisch
		echo '<a href="'.$sess->url('front_content.php?changelang=2').'" class="additionalnavi">'.mi18n("English").'</a>';
		break;
}
Das würde bedeuten das du zwar in diesem Hilfsmenü nicht mehr direkt zwischen den beiden Sprachen umschalten kannst aber dafür die zweisprachige Funktionalität trotzdem erhalten bleibt.
Was dein Hauptmenü angeht so brauchst du, um es korrekt anzuzeigen in jeder Menüebene einen Startartikel, die Menüebene selbst muss auch Online gestellt sein.

Gruß
Holger

Verfasst: Mi 2. Aug 2006, 10:03
von hegi
Hallo Holger
Sundriver hat geschrieben:Also, die Sache mit dem English kannst du beenden indem du die zweite Sprache, also in dem Fall English, im Backend abschaltest ( default sind sie beide drin ).
Was genau meinst Du damit? Ich habe "English" unter Administration -> Sprachen "offline" gestellt. Aber in der Hilfsnavi ist der Button trotzdem noch dargestellt. - Und wenn ich draufklicke gibt's 'nen fetten Fehler.

Muss ich die Sprache dort ganz löschen? (Weiß halt nicht, ob ich noch mal eine englische Version bauen will)
Sundriver hat geschrieben:Was dein Hauptmenü angeht so brauchst du, um es korrekt anzuzeigen in jeder Menüebene einen Startartikel, die Menüebene selbst muss auch Online gestellt sein.
Habe ich. Selbst unter "Hilfsnavigation" wo sonst ja nichts drin ist und auch nichts rein muss. Auch die Artikel sind online. mit

www.meine.site/cms/front_content.php?idcat=01 (bzw. mit anderen Nummern)

kann ich auch alle Seiten (mit Ausnahme der Navi) korrekt anzeigen. Und nur die Sitemap hat eine korrekte Navigation, weil dort ein anderes Template verwendet wird. Aber die Einstellungen (Module -> Container und Baum für Hauptnavi) sind identisch.

Das ganze macht mich ziemlich fertig ... weil die Site sonst soweit steht.

Gruß

Stefan.

Verfasst: Mi 2. Aug 2006, 12:38
von Sundriver
Hi hegi,
hegi hat geschrieben:
Sundriver hat geschrieben:Also, die Sache mit dem English kannst du beenden indem du die zweite Sprache, also in dem Fall English, im Backend abschaltest ( default sind sie beide drin ).
Was genau meinst Du damit? Ich habe "English" unter Administration -> Sprachen "offline" gestellt. Aber in der Hilfsnavi ist der Button trotzdem noch dargestellt. - Und wenn ich draufklicke gibt's 'nen fetten Fehler.

Muss ich die Sprache dort ganz löschen? (Weiß halt nicht, ob ich noch mal eine englische Version bauen will)
Nein, brauchst du nicht, wenn du nicht weisst ob du das ganze Zweisprachig laufen lassen möchtest deaktiviere lediglich die Englische Sprache im Backend. Nun zum Modul " Hilfsnavigation", lösche aus dem Output Teil diesen Teil des Codes raus:

Code: Alles auswählen

switch($lang){
   case '2':
      //englisch -> deutsch
      echo '<a href="'.$sess->url('front_content.php?changelang=1').'" class="additionalnavi">'.mi18n("Deutsch").'</a>';
      break;
   default:
      //deutsch -> englisch
      echo '<a href="'.$sess->url('front_content.php?changelang=2').'" class="additionalnavi">'.mi18n("English").'</a>';
      break;
}

danach bekommst du den Schalter zum Umschalten nicht mehr angezeigt. Du kannst das ganze Modul auch unter einem anderen Namen abspeichern und dann verwenden.

Was deine Probleme mit der Navi angeht kann ich jetzt erstmal so weiter nix zu sagen, welche Version hast du installiert? Die 4.6.8 von contenido.org? Ich hatte damit auch einige Probleme, versuche es mal mit der Version von rezeptionist, hier der Thread: http://contenido.org/forum/viewtopic.php?t=12026


Gruß
Holger

Verfasst: Mi 2. Aug 2006, 14:16
von hegi
Hi Holger,

habe das Hilfsnavi-Modul angepasst allerdings gefällt mir der Output so noch nicht. Denn jetzt kriege ich

Code: Alles auswählen

Sitemap | Impressum |
angezeigt. Der letzte "|" soll aber noch weg. Nur so wie die Schleife aufgebaut ist, ist das nicht so einfach:

Code: Alles auswählen

if (count($navigation) > 0) { 
	foreach ($navigation as $key => $data) {
		echo '<a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" class="additionalnavi">'.$data['name'].'</a> | ';
	} 
}
Man müsste innerhalb der foreach Schleife abfangen, ob es das letzte Element ist und nur falls das nicht zutrifft den "|" setzen. Wie mach ich sowas - Sorry ich kann kein PHP :?

Danke

Stefan.

Verfasst: Mi 2. Aug 2006, 14:21
von stese

Code: Alles auswählen

if (count($navigation) > 0) {
   $arrNavigationElements = array();
   foreach ($navigation as $key => $data) {
      $arrNavigationElements[] = '<a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" class="additionalnavi">'.$data['name'].'</a> | ';
   }
   echo implode (' | ', $arrNavigationElements);
} 

Verfasst: Mi 2. Aug 2006, 15:42
von hegi
Hi Stese,

Danke für Deine Mühe. - Ein fast guter Versuch. Nur leider bekomme ich jetzt
Sitemap | | Impressum |
Ich will aber
Sitemap | Impressum

Verfasst: Mi 2. Aug 2006, 15:46
von hegi
Jetzt hab ich den Fehler:

Code: Alles auswählen

if (count($navigation) > 0) {
   $arrNavigationElements = array();
   foreach ($navigation as $key => $data) {
      $arrNavigationElements[] = '<a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" class="additionalnavi">'.$data['name'].'</a>';
   }
   echo implode (' | ', $arrNavigationElements);
}
Hinter dem </a> muss der "|" weg. Ende 4. Zeile, dort geändert.

Verfasst: Mo 25. Sep 2006, 14:09
von media-konzept
Hallo, ich habe eine leicht andere Lösung für dieses Problem, mit dem selben nutzen dass kein '|' mehr am Ende angezeigt wird.
Hier mein Output-Modul:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Hilfsnavigation
* Author(s)   :     Andreas Lindner
* Modification:     media-konzept kuster : Sprachumschalt-Link (Englisch) abschalten
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     05.08.2005
************************************************/

cInclude("frontend", "includes/functions.navigation.php");
cInclude('classes', 'class.template.php');
	
$catStart = "CMS_VALUE[0]";
if(($catStart=='')||($catStart=='0')){
    $cApiClient = new cApiClient($client);
    $catStart= $cApiClient->getProperty('navigation', 'idcat_hilfsnavi');
}
if(!is_object($oClient)) {
	$oClient = new cApiClient($client);
}

$navigation = array();
$navigation = createNavigationArray($catStart, $db);

if (count($navigation) > 0)
 { 
        $first_navi = 1;
	foreach ($navigation as $key => $data)
          {
            if (! $first_navi) echo ' | ';
            $first_navi = 0;
	    echo '<a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" class="additionalnavi">'.$data['name'].'</a>';
	  } 
 }

/* switch($lang){
	case '2':
		//englisch -> deutsch
		echo '<a href="'.$sess->url('front_content.php?changelang=1').'" class="additionalnavi">'.mi18n("Deutsch").'</a>';
		break;
	default:
		//deutsch -> englisch
		echo '<a href="'.$sess->url('front_content.php?changelang=2').'" class="additionalnavi">'.mi18n("English").'</a>';
		break;
}
*/
?>
Gruss Walti von media-konzept