[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[gelöst] Superfish -> 1 Kategorie, Rest Artikel - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Koala
Beiträge: 1612
Registriert: 3. Okt 2005, 13:20

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

16. Okt 2011, 13: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, 01: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 5 :: Tricks und Tipps
REX 5 :: Modulesammlung

Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)

Benutzeravatar
Koala
Beiträge: 1612
Registriert: 3. Okt 2005, 13:20

Re: Superfish -> 1 Kategorie, Rest Artikel

16. Okt 2011, 23: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 5 :: Tricks und Tipps
REX 5 :: Modulesammlung

Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)

Zurück zu „Allgemeines [R4]“