Frage zur Hauptnavigation Demo-Mandant

Gesperrt
MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Frage zur Hauptnavigation Demo-Mandant

Beitrag von MyAccount » Sa 29. Jul 2006, 10:37

Hallo Community,

warum muss die Hauptnavigation des Demo-Mandanten immer eine Top-Level-Kategorie bekommen? Hab nämlich einfach mal im Modul-Output die $start_cat manuell auf eine Kategorie-ID unterhalb der obersten Kategorie gesetzt.
$start_cat = "12";
für die Demo-Kategorie "Services" anstelle des Codes:
$start_cat = "CMS_VALUE[0]";
Dann könnte man nämlich einfach das Input-Modul aus der Hilfsnavigation benutzen, das mir auch die Auswahl von Kategorien erlaubt, die nicht in oberster Ebene stehen.

emergence
Beiträge: 10644
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Sa 29. Jul 2006, 16:55

es sind beispielmodule...
anpassungen kann jeder nach eigenem ermessen vornehmen...
*** make your own tools (wishlist :: thx)

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Mo 31. Jul 2006, 08:34

Logisch! ;-) Das ist ja auch das Gute daran.

Ich vermute mal, dass es daran liegt.

Code: Alles auswählen

/**
* Check if a category is child
* of another category
*
* @return boolean true/false
* @author Jan Lengowski <Jan.Lengowski@4fb.de>
* @copyright four for business AG 2003
*/
function catIsChildOf($id, $idparent) {

  global $cfg, $client, $lang;

  $db = new DB_Contenido;

  $parent = $id;

  while ( $parent != 0 ) {

    $sql = "SELECT
                    a.parentid
            FROM
                    ".$cfg["tab"]["cat"]." AS a,
                    ".$cfg["tab"]["cat_lang"]." AS b
            WHERE
                    a.idclient  = '".$client."' AND
                    b.idlang    = '".$lang."' AND
                    a.idcat     = b.idcat AND
                    a.idcat   = '".$parent."'";

    $db->query($sql);
    $db->next_record();

    $parent = $db->f("parentid");

    if ($parent == $idparent) {
      return true;
    }

  }

  return false;

}

if ( catIsChildOf($idcat, 'CMS_VALUE[0]') ) {
  $sel_idcat = $idcat;
} else {
  $sel_idcat = 'CMS_VALUE[0]';
}
So wie ich das hier verstehe, läuft die WHILE-Schleife so lange, wie $parent ungleich 0 ist. Außerhalb der Schleife erhält $parent die ID des aktuell geöffneten Artikels. Innerhalb der Schleife wird $parent mit dem Wert parentid aus der Tabelle con_cat überschrieben.

Im Moment weiß ich nicht, woran es liegt. Wähle ich nämlich in der Template-Konfiguration eine Kategorie aus, die unterhalb der obersten liegt, wird nichts angezeigt. Was kann es denn sein?

Garfieldt
Beiträge: 57
Registriert: Mi 10. Nov 2004, 12:05
Kontaktdaten:

Beitrag von Garfieldt » Mo 8. Okt 2007, 09:06

Mal ne ganz blöde Frage, was spricht dagegen im Input Bereich a.LEVEL auf 1 zu setzen??

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Mo 8. Okt 2007, 09:11

angesichts der tatsache, dass für einen auftritt in der regel die hauptnavigation immer vom genau gleichen ort bezogen wird, wäre es nach meiner einschätzung sowieso besser, man müsste das gar nicht erst konfigurieren. also ich schreibe das jeweils direkt in das modul rein. sonst fragt sich der kunde sowieso immer, warum die navigation nicht erscheint.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Garfieldt
Beiträge: 57
Registriert: Mi 10. Nov 2004, 12:05
Kontaktdaten:

Beitrag von Garfieldt » Mo 8. Okt 2007, 09:25

Habe ein ähnliches Problem, habe einen Hauptnavigationsbaum mit 4 Kategorieen, diese sind fest und werden nie geändert. Der Zugriff auf diese Kategorieen geschieht nicht per Navi. Die Hauptnavi soll dann immer nur die Unterkategorieen der jeweiligen Hauptkategorie anzeigen. Geht das so, oder gibt es da eine bessere Möglichket?

Zur Info: Die Hauptnavi wird immer nur 1x gleichzeitig verwendet.
Die Hauptnavi soll immer erst ab der Ebene 1 anfangen.
Für jede der Unterkategorieen gibt es eh schon ein eigenes Template (wegen Unterschiedlichem Banner)

Vielen Dank im Vorraus, stehe ein bisschen auf dem Schlauch

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Mo 8. Okt 2007, 09:33

ich verwende die navigationUniversell (vgl. signatur). da kannst du den hauptnavigationsbaum bezeichnen und angeben, welche ebene du einblenden möchtest. wenn du z.b. immer die zweite ebene anzeigen möchtest, brauchst du das ganze gar nicht erst umzukonfigurieren. das modul nimmt dann automatisch die richtige kategorie (also die, auf der du dich im moment befindest).

du kannst das gleich allerdings auch mit der standard-hautptnavigation erreichen, in dem du die erste ebene einfach leer lässt. dann wird nur die zweite gerendert.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Garfieldt
Beiträge: 57
Registriert: Mi 10. Nov 2004, 12:05
Kontaktdaten:

Beitrag von Garfieldt » Mo 8. Okt 2007, 09:41

du kannst das gleich allerdings auch mit der standard-hautptnavigation erreichen, in dem du die erste ebene einfach leer lässt. dann wird nur die zweite gerendert.
Vielen Dank für den Tipp!!!
Manchmal ist die Lösung einfacher als man denkt! Mann hatte ich ein Brett vorm Kopf!

Gesperrt