Pfad angeben

Fragen/Tipps allgemeiner Art.

Pfad angeben

Beitragvon PAGEJUMPER » 5. Jan 2005, 16:02

Wie kann ich im Redaxo CMS den Pfad für den User ausgeben?
Also nach dem Stil: "Sie befinden sich in STARTSEITE - Kontakt"?

MfG

Ronny-Heiko
Benutzeravatar
PAGEJUMPER
 
Beiträge: 152
Registriert: 16. Dez 2004, 16:54
Wohnort: Leipzig

Beitragvon Thomas.Blum » 5. Jan 2005, 16:57

ich mache es so:

Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("-",$this->getValue("path"));


// GET CURRENTS
if(count($PATH)==1) {
    $MAIN = $PATH[0];
}
else {
    $MAIN = $PATH[1];
    $SUB01  = $PATH[2];
    $SUB02  = $PATH[3];
}


$sitePath = "";

foreach (OOCategory::getRootCategories() as $LEVEL00) {
   if ($LEVEL00->getId() == $MAIN) {
      
      $sitePath .= '<a href="'.$LEVEL00->getUrl().'">'.$LEVEL00->getName().'</a>';
         
      foreach ($LEVEL00->getChildren() as $LEVEL01 ):
         if ($LEVEL01->getId() == $SUB01 )
            $sitePath .= ' ›› <a href="'.$LEVEL01->getUrl().'">'.$LEVEL01->getName().'</a>';
      endforeach;
   }
}            
?>


zu sehen unter http://karate-portal.com/index.php

gruss thomas
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon PAGEJUMPER » 5. Jan 2005, 17:16

tbaddade hat geschrieben:ich mache es so:

Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("-",$this->getValue("path"));


// GET CURRENTS
if(count($PATH)==1) {
    $MAIN = $PATH[0];
}
else {
    $MAIN = $PATH[1];
    $SUB01  = $PATH[2];
    $SUB02  = $PATH[3];
}


$sitePath = "";

foreach (OOCategory::getRootCategories() as $LEVEL00) {
   if ($LEVEL00->getId() == $MAIN) {
      
      $sitePath .= '<a href="'.$LEVEL00->getUrl().'">'.$LEVEL00->getName().'</a>';
         
      foreach ($LEVEL00->getChildren() as $LEVEL01 ):
         if ($LEVEL01->getId() == $SUB01 )
            $sitePath .= ' ›› <a href="'.$LEVEL01->getUrl().'">'.$LEVEL01->getName().'</a>';
      endforeach;
   }
}            
?>


zu sehen unter http://karate-portal.com/index.php

gruss thomas


DANKE :-)

Du hast aber ganz schön viel von mdr.de abgekupfert *kopfschüttel*
Benutzeravatar
PAGEJUMPER
 
Beiträge: 152
Registriert: 16. Dez 2004, 16:54
Wohnort: Leipzig

Beitragvon Thomas.Blum » 5. Jan 2005, 18:19

schau dir den quellcode an und wirst verstehen. ich fand das raster schon immer sehr gut. mein ziel war/ist das raster auf barrierefrei um zustrukturieren.


gruss thomas
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon PAGEJUMPER » 5. Jan 2005, 20:23

Ist ja auch egal :-)

Irgendwie funzt das mit dem Pfadauslesen überhaupt nicht :-(

MfG
Ronny-Heiko
Benutzeravatar
PAGEJUMPER
 
Beiträge: 152
Registriert: 16. Dez 2004, 16:54
Wohnort: Leipzig

Beitragvon Thomas.Blum » 6. Jan 2005, 07:38

binde dies in deinem template noch ein:
Code: Alles auswählen
<div id="sitePath">Verlauf: <a href="/index.php">Startseite</a> ›› <? echo $sitePath; ?></div>


erst mit <? echo $sitePath; ?> wird der seitenpfad ausgegeben.

gruss thomas
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon Oliver.Kreischer » 6. Jan 2005, 09:44

hi thomas,

funktioniert einfandfrei.
klasse!

ist es dort (und evtl. auch in der sitemap) möglich noch eine ebene mehr anzeigen zu lassen?

gruß
oliver
Benutzeravatar
Oliver.Kreischer
 
Beiträge: 1820
Registriert: 16. Dez 2004, 23:03
Wohnort: Feldafing

Beitragvon Thomas.Blum » 6. Jan 2005, 13:50

ja das geht und sollte so funktionieren:

Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("-",$this->getValue("path"));


// GET CURRENTS
if(count($PATH)==1) {
    $MAIN = $PATH[0];
}
else {
    $MAIN = $PATH[1];
    $SUB01  = $PATH[2];
    $SUB02  = $PATH[3];
}


$sitePath = "";

foreach (OOCategory::getRootCategories() as $LEVEL00) {
   if ($LEVEL00->getId() == $MAIN) {
     
      $sitePath .= '<a href="'.$LEVEL00->getUrl().'">'.$LEVEL00->getName().'</a>';
         
      foreach ($LEVEL00->getChildren() as $LEVEL01 ):
         if ($LEVEL01->getId() == $SUB01 )
      
            $sitePath .= ' ›› <a href="'.$LEVEL01->getUrl().'">'.$LEVEL01->getName().'</a>';
         
            foreach ($LEVEL01->getChildren() as $LEVEL02 ):
               if ($LEVEL02->getId() == $SUB02 )
      
                  $sitePath .= ' ›› <a href="'.$LEVEL02->getUrl().'">'.$LEVEL02->getName().'</a>';
         
         
            endforeach;
         
         
      endforeach;
   }
}           
?>


gruss thomas
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon Oliver.Kreischer » 7. Jan 2005, 14:34

cool.
habe es allerdings jetzt so gelöst das der user auch ohne pfadangabe sieht wo er ist :-))

thnx
Benutzeravatar
Oliver.Kreischer
 
Beiträge: 1820
Registriert: 16. Dez 2004, 23:03
Wohnort: Feldafing

Beitragvon Thomas.Blum » 7. Jan 2005, 16:16

poste doch mal den code

danke thomas
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon Oliver.Kreischer » 7. Jan 2005, 20:13

[quote]poste doch mal den code [/quote]

wwürde ich ja machen wenn es was neues wäre :-))

ich markiere halt nur den aktiven link in der navigation...
(http://www.kreischer.de/?article_id=72)

ich glaube kaum das du dafür den code brauchst.. :D oder???

gruß
oliver
Benutzeravatar
Oliver.Kreischer
 
Beiträge: 1820
Registriert: 16. Dez 2004, 23:03
Wohnort: Feldafing

Sitepath erweitert

Beitragvon grizzl » 8. Feb 2005, 00:39

Hallo,
hier noch eine erweiterte Version des Sitepath:
Wenn ein Unterartikel (nicht der Startartikel) einer Kategorie gewhält wurde, wird dieser nun auch mit angezeigt.
Ist z.b. ganz sinnvoll bei Aufzählungen innerhalb einer Kategorie.

Hoffe es funktioniert..

Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("-",$this->getValue("path"));


// GET CURRENTS
if(count($PATH)==1) {
    $MAIN = $PATH[0];
}
else {
    $MAIN = $PATH[1];
    $SUB01  = $PATH[2];
    $SUB02  = $PATH[3];
}


$sitePath = "";

foreach (OOCategory::getRootCategories() as $LEVEL00) {
   if ($LEVEL00->getId() == $MAIN) {
     
     $sitePath .= '<a href="'.$LEVEL00->getUrl().'">'.$LEVEL00->getName().'</a>';
       
      foreach ($LEVEL00->getChildren() as $LEVEL01 ):
         if ($LEVEL01->getId() == $SUB01 )
            $sitePath .= ' &nbsp;›› <a href="'.$LEVEL01->getUrl().'">'.$LEVEL01->getName().'</a>';
      endforeach;


   }
}   



// Wenn eine Unterseite gewählt wurde, die nicht die Startseite ist,
// dann SitePath um diese Seite erweitern

// Artikel-Objekt
$artid = OOArticle::getArticleById ($_GET['article_id']);

// Kategorie des gewählten Artikels ermitteln
$kategorie_id = $artid->getCategory ();

// Startartikel dieser Kategorie ermitteln (=Objekt)
$startartikel = $kategorie_id->getStartArticle();

// ID des Startartikels ermitteln
$startartikel_id = $startartikel->getID();


// Wenn der ausgewählte Artikel nicht der Startartikel ist, dann Link anzeigen
if ($_GET['article_id'] !=$startartikel_id) {
$sitePath .= '&nbsp; ›› <a href="'.$artid->getUrl ().'">'.$artid->getName().'</a>';
}

       
?>


Gruß
Christian
grizzl
 
Beiträge: 4
Registriert: 1. Feb 2005, 22:59

Zusatzfrage eines Neulings

Beitragvon jockel » 22. Jun 2005, 08:36

Da ich auch den Verlauf darstellen möchte - meine Zusatzfrage:
Das Einbinden in ein Template habe ich verstanden und bereits eingefügt.
Doch wohin und mit welcher Bezeichnung wird der php-code geschrieben?
Gruß Jörg
jockel
 
Beiträge: 2
Registriert: 24. Aug 2004, 21:11
Wohnort: Neuhardenberg

Beitragvon Thomas.Blum » 22. Jun 2005, 08:47

Hej,

hoffe ich habe deine Frage richtig verstanden.

Also du hast ein Default-Template mit dem ganzen HTML-Tags und so.

An der Stelle wo der Verlauf erscheinen soll machst du ein

Code: Alles auswählen
<?php include $REX[INCLUDE_PATH]."/generated/templates/2.template"; ?>


Die Zahl 2 sollte natürlich hier nun das Verlauf-Template sein. Die Zahlen siehst du indem du dir das Recht expertMode[] gibst.

lg 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

Danke

Beitragvon jockel » 22. Jun 2005, 11:06

Danke für den Hinweis.

Funktioniert!

Gruß Jörg
jockel
 
Beiträge: 2
Registriert: 24. Aug 2004, 21:11
Wohnort: Neuhardenberg

Nächste

Zurück zu Allgemeines [R2]

Wer ist online?

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