[gelöst] Superfish -> 1 Kategorie, Rest Artikel

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

[gelöst] Superfish -> 1 Kategorie, Rest Artikel

Beitragvon Koala » 16. Okt 2011, 12:16

Das Superfish Jquery Dropdown Navigation - 3 Ebenen-Template scheint das für meinen Zweck passenste zu sein.

Der Seitenaufbau ist recht simpel.
Es gibt 5 Kategorien in denen sich nur Artikel befinden, keine Subkategorien.

In der vertikalen Navigation sollen nur die Kategorien angezeigt werden. Wenn man mit der Maus drübergeht, sollen die jeweiligen Artikel als Auswahl darunter aufgeklappt werden und wieder verschwinden, wenn man mit der Maus weg ist. Also eigentlich recht simpel.

Im Superfish-Template werden allerdings nur die Kategorien ausgegeben, aber keine Artikel.
Nun, bevor ich anfange das anzupassen meine Frage in die Runde:
Hat jemand Superfish schon mal in entsprechender Weise angepass?
Oder kann mir jemand eine Navi mit der oben beschriebenen Ausgabe nennen?
Zuletzt geändert von Koala am 20. Dez 2011, 00:00, insgesamt 1-mal geändert.
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1529
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus

Re: Superfish -> 1 Kategorie, Rest Artikel

Beitragvon Koala » 16. Okt 2011, 22:36

Ich hab mir dann doch noch selbst ein passendes Template zusammengeschustert und stelle das hier der Öffentlichkeit zur Verfügung.
Fehlerhinweise und Verbesserungsvorschläge sind willkommen.

Getestet mit Redaxo 4.3.2 und FF 7.0.1 und Opera 11.01

Code: Alles auswählen
<?php

if(!function_exists('sortArticlesByCreateDate'))
{
  function sortArticlesByCreateDate( $artA, $artB) {
    $createA = $artA->getCreateDate();
    $createB = $artB->getCreateDate();
    if ( $createA == $createB) {
      return 0;
    }
    return $createA > $createB ? -1 : 1;
  }
}

// Sortierfunktion by Prio
// siehe http://wiki3.redaxo.de?n=R3.Sortiermöglichkeiten
if (!function_exists('sortArticlesByPrio')) {
  function sortArticlesByPrio( $artA, $artB) {
    $prioA = $artA->getPriority();
    $prioB = $artB->getPriority();
    if ( $prioA == $prioB) {
      return 0;
    }
    //  return $prioA > $prioB ? 1 : -1;
    return $prioA > $prioB ? -1 : 1;
  }
}


$zeilenumbruch = "\n";
define('LB', $zeilenumbruch);

// Variablen einlesen
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$path1 = (isset ($PATH[1])) ? $PATH[1] : '';
$path2 = (isset ($PATH[2])) ? $PATH[2] : '';
$path3 = (isset ($PATH[3])) ? $PATH[3] : '';

// Dropdown schreiben
$superfish = LB.'<ul class="sf-menu">'.LB;

// Kategorien des ersten Levels auslesen
foreach (OOCategory::getRootCategories() as $lev1) {

  // Wenn online dann weiter
  if ($lev1->isOnline(true)) {
    $superfish .= LB.'  <li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
   
    $articles = $lev1->getArticles($ignore_offlines = true);
   
    if ( is_array( $articles)) {
   
      // nur wenn mehr als ein Artikel vorhanden ist, sollen alle angezeigt werden
      if (count($articles) > 1) {
        //    usort($articles, "sortArticlesByCreateDate");
        usort( $articles, "sortArticlesByPrio");

        $superfish .= LB.'    <ul>';
       
        $art = new rex_article();
        foreach ( $articles as $article)
        {
          $art->setArticleId( $article->getId());
          $artid = $art->getArticleId();
          //Startartikel ausblenden
    //      if ($article->isStartPage()) continue;
         
          $superfish .= LB.'      <li><a href="'.$article->getUrl().'">'.$article->getName().'</a></li>';
        }
        $superfish .= LB.'    </ul>'.LB;
      } // if (count ($articles) > 1)
     
    }   else {
      $superfish .= LB.'  </li>'.LB;
    } // if ( is_array( $articles))
   
    $superfish .= '  </li>'.LB;

  } // if ($lev1->isOnline(true))
} // foreach (OOCategory::getRootCategories() as $lev1)


$superfish .= LB.'</ul>'.LB;

print $superfish;

?>
.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX_DOKU :: REX_WIKI :: REX_FAQ :: REX_WIKIPEDIA
Benutzeravatar
Koala
 
Beiträge: 1529
Registriert: 3. Okt 2005, 12:20
Wohnort: Cottbus


Zurück zu Templates/Navigationen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast