Problem unter 4.1 mit Navigation

Probleme beim Installieren. Servereinstellungen etc.

Problem unter 4.1 mit Navigation

Beitragvon Tymo » 1. Apr 2008, 18:47

Guten Abend,

ich habe ein Problem. Folgendes Menü funktioniert nicht mehr unter 4.1.0:
Code: Alles auswählen
<?php

// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


// START 1st level categories
$horizontal_drop_down_nav .= '<ul id="nav">';
foreach (OOCategory::getRootCategories() as $lev1) {

   if ($lev1->isStartPage() && $lev1->isOnline() && $lev1->getTypeId() == "1") {
    // 1st level has sub-categories?
    $lev1Size = sizeof($lev1->getChildren(true));

    $horizontal_drop_down_nav .= "\n".'<li><a';
    if ($lev1Size != "0") {
      $horizontal_drop_down_nav .= '';
    }
   
    if ($lev1->getId() == $path1) {
         $horizontal_drop_down_nav .= ' class="active" href="'.$lev1->getUrl().'" title="'.$lev1->getName().'">'.$lev1->getName().'';
      }
     else {
    $horizontal_drop_down_nav .= ' href="'.$lev1->getUrl().'" title="'.$lev1->getName().'">'.$lev1->getName().'';
      }
    // 1st level had sub-categories? -> go on
    if ($lev1Size != "0") {
      $horizontal_drop_down_nav .= '</a>';
      $horizontal_drop_down_nav .= "\n".'<ul>';

      // START 2nd level categories
      foreach ($lev1->getChildren() as $lev2) {

        if ($lev2->isOnline(true)) {
          // 2nd level has sub-categories?
          $lev2Size = sizeof($lev2->getChildren(true));

          $horizontal_drop_down_nav .= "\n".'<li><a';
          if ($lev2Size != "0") {
            $horizontal_drop_down_nav .= '';
          }
          if ($lev2->getId() == $path2) {
         $horizontal_drop_down_nav .= ' class="active" href="'.$lev2->getUrl().'" title="'.$lev2->getName().'">'.$lev2->getName().'';
      }
          else {
          $horizontal_drop_down_nav .= ' href="'.$lev2->getUrl().'" title="'.$lev2->getName().'">'.$lev2->getName().'';
          }
          // 2nd level had sub-categories? -> go on
          if ($lev2Size != "0") {
            $horizontal_drop_down_nav .= '</a>';
            $horizontal_drop_down_nav .= "\n".'<ul>';

            // START 3rd level categories
            foreach ($lev2->getChildren() as $lev3) {

              if ($lev3->isOnline(true)) {

          if ($lev3->getId() == $path3) {
         $horizontal_drop_down_nav .= '<li><a class="active" href="'.$lev3->getUrl().'" title="'.$lev3->getName().'">'.$lev3->getName().'</a></li>';
      }
           else {
                $horizontal_drop_down_nav .= "\n".'<li><a href="'.$lev3->getUrl().'" title="'.$lev3->getName().'">'.$lev3->getName().'</a></li>';
                }
              }
            }
            // END 3rd level categories

            $horizontal_drop_down_nav .= "\n".'</ul>';
          } // END by if ($lev2Size != "0"):
          else {
            $horizontal_drop_down_nav .= '</a>';
          }
          $horizontal_drop_down_nav .= '</li>';
        }
      }
      // END 2nd level categories

      $horizontal_drop_down_nav .= "\n".'</ul>';
    } // END by if ($lev1Size != "0"):
    else {
      $horizontal_drop_down_nav .= '</a>';
    }
  $horizontal_drop_down_nav .= '</li>';
  } // END by if ($lev1->isOnline())
}
$horizontal_drop_down_nav .= "\n".'</ul>';
// END 1st level categories

print $horizontal_drop_down_nav;
?>

Hat jemand eine Idee warum nicht?

Es scheint mit "getTypeId()" zusammenzuhängen.

Vielen Dank.
Tymo
 
Beiträge: 131
Registriert: 20. Nov 2006, 20:39

Beitragvon darwin » 3. Apr 2008, 17:22

HI...
das ist ne Navi für REX 3.2 ...
inder REX 4 hat sich einiges geändert ...

Alt: $id = $cat->getTypeId()

Jetzt:
$id = $cat->getId()

Hol Dir mal das 4.1 CheatSheet
http://forum.redaxo.de/ftopic8676.html


grz. Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Beitragvon Markus.Staab » 3. Apr 2008, 18:06

Hi,

darwin hat geschrieben:Alt: $id = $cat->getTypeId()

Jetzt:
$id = $cat->getId()


Das stimmt so nicht...

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon darwin » 4. Apr 2008, 08:40

ups. sorry. da muss ich wohl nochmal nachsitzen :oops:

hmmm:

Objektfunktion für den aktuellen Artikel (REX 3.2)
$typeId = this->getValue("type_id")


Objektfunktion für den aktuellen Artikel (REX 3.2)
$typeId = this->getValue("type_id")

hmmm. bevor ich mich da jetzt total verrenn...@kills
kannst du uns bitte aufklären .... DANKE

grz.Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Beitragvon Markus.Staab » 4. Apr 2008, 17:59

Hi,

getTypeId() geht nach wie vor... Das Problem muss woanders liegen..

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Thomas.Blum » 4. Apr 2008, 18:50

Hej,

was funktioniert nicht genau?

Wir überhaupt nix ausgegeben? Sind die Kategorien auch online?

Und warum schreibst du es unter "Installation" ? Ist irgendetwas beim installieren passiert?

vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon spiceflo » 6. Apr 2008, 08:51

Könnte es evtl. hieran liegen.

$this->getValue("path")


Ich bekomme hier leider nur noch ein Pipe Sympol "|" ausgegeben. Da ich allerdings an vielen Ecken rumgespielt habe weiß ich nicht ob es direkt mit der Umstellung auf 4.1 zu tun hat.

Hab es bisher so verwendet:

$PATH = explode("|",$this->getValue("path"));



Schöne Grüße

Florian
spiceflo
 
Beiträge: 38
Registriert: 2. Mär 2008, 13:28

Beitragvon spiceflo » 6. Apr 2008, 10:05

spiceflo hat geschrieben:Könnte es evtl. hieran liegen.

$this->getValue("path")


Ich bekomme hier leider nur noch ein Pipe Sympol "|" ausgegeben. Da ich allerdings an vielen Ecken rumgespielt habe weiß ich nicht ob es direkt mit der Umstellung auf 4.1 zu tun hat.

Hab es bisher so verwendet:

$PATH = explode("|",$this->getValue("path"));



Schöne Grüße

Florian


hab jetzt nochmal nachgeschaut, mit dem hat es aber nix zu tun! Das funktioniert immer noch richtig.
spiceflo
 
Beiträge: 38
Registriert: 2. Mär 2008, 13:28

Beitragvon Thomas.Blum » 6. Apr 2008, 11:02

Hej,

es müsste so heißen:


Code: Alles auswählen
$path = explode("|",$this->getValue("path").$this->getValue('article_id')."|");


vg Thomas

PS: Fullquote ist nicht lesenswert ;-)
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden


Zurück zu Installation [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste