[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • (Start-)Artikel in Navigation zeigen, wie?!
Seite 1 von 1

(Start-)Artikel in Navigation zeigen, wie?!

Verfasst: 19. Nov 2004, 20:42
von Reinhold
Hallo,

wie bekomme ich den Startartikel bzw. den einzigen Artikel in die Subnavigation (Navi2) hinein?!

Der Startartikel oder falls es nur einen Artikel gibt, sollte dann aufgerufen werden werden, wenn ich auf die Kategorie / Link der Hauptnavigation (Navi1) klicke.

Beispiel:

Home
-- Willkommen (StartArtikel)
-- Was gibt es neues?!
-- Termine

Software
-- Allgemeines (StartArtikel)
-- Softwareanforderungen
-- Download

..

Oder stelle ich mich nur blöd an?!

Grüße
Reinhold

Verfasst: 19. Nov 2004, 21:16
von vebulos
Hallo Reinhold,

was du brauchst, sind Kategorien. Lege einfach für jeden Untermenu-Punkt
eine Unterkategorie und plaziere dein Inhalt in dem automaisch angelegten
Startartikel.

Das ist die Stärke von Redaxo, dass du ohne Verrenkung mehrere Artikel
anlegen kannst. Wie die angezeigt werden, bestimmst du mit Modulen.

Hoffe, das hilft,
Gruss

Ja, aber...

Verfasst: 19. Nov 2004, 22:08
von Reinhold
warum krieg! ich keine Subkategorien unter Home bzw. dem ersten obersten Menupunkt hin?

Siehe http://www.fun-k.de/en12831.net/

Grüße
Reinhold

Verfasst: 19. Nov 2004, 22:40
von vebulos
Auf die Url komme ich nicht drauf.
Probiere es mit meinem Beispiel...

Hilfe!!! Ich krieg's nich hin :(

Verfasst: 23. Nov 2004, 16:28
von Reinhold
Hallo,

ich kriege die Subnavigation nicht dazu mir meinen Startartikel anzuzeigen! d.h. den aller ersten Artikel in Subnavigation aufzulisten, der ja auch angezeigt wird, wenn ich auf einen Eintrag der Hauptnavigation klicke. Wähle ich jetzt einen weiteren Artikel aus der Subnavigation komme ich nur durch Klick auf die Hauptnavigation wieder zum ersten (Start)-Artikel zurück.

Aber hier erstmal ein Link zum gucken:

http://www.en12831.net/index.php

Ich bin folgerndermaßen vorgegangen:

Das Template "01 01Navigation" aus der Demo aufgeteilt in
ein Template "Navigation menu" und ein "Navigation Sidebar"

Der Code für Sidebar sieht so aus:

Code: Alles auswählen

<?php

// PFAD AUSLESEN
$cat_id = $this->getValue("category_id");
$path = explode("-",$this->getValue("path"));
//$showpath = "/ <a href=index.php?article_id=8 class=white>Home</a>";
$cat1 = current($path)+0;
next($path);
$cat2 = current($path)+0;
next($path);
$cat3 = current($path)+0;

// 2. NAVI (SubNavigation)

//global $NAV2 ;
$NAV2 = "<ul>";
$cat_id = $cat2;

@include $REX[INCLUDE_PATH]."/generated/categories/$cat_id.list.category";
$NAV = $REX[RECAT][$cat_id];

for ($i=0;$i<count($NAV);$i++)
{

 $id = current($NAV);
 $aid = $REX[CAT][$id][article_id];
 $name = $REX[CAT][$id][name];

 if ($i==0) $NAV2 .= "";

 @include $REX[INCLUDE_PATH]."/generated/articles/$aid.article";





 if ($cat3==$id and $REX[CAT][$id][status]==1)
 //selected navbaritem
 {
    $NAV2 .= "<li>".
      "<a href=index.php?article_id=$aid class=nava>$name</a></li>";

 }elseif ($REX[CAT][$id][status]==1)
 {
     if ($name == "")
     // no navbaritem (placeholder)
     {
       $NAV2 .= "<li>&nbsp;</li>";
      
     }else
     // Not selected navbaritem
     {
       $NAV2 .= "<li><a href=index.php?article_id=$aid class=nav>$name</a></li>";

      }

 }
   
 if (($i+1)==count($NAV)) $NAV2 .= "</ul>";

 next($NAV);
}

echo $NAV2;

?>
Und der Code für "Menu" so:

Code: Alles auswählen

<?php

// PFAD AUSLESEN
$cat_id = $this->getValue("category_id");
$path = explode("-",$this->getValue("path"));
$showpath = "/ <a href=index.php?article_id=8 class=white>Home</a>";
$cat1 = current($path)+0;
next($path);
$cat2 = current($path)+0;
next($path);
$cat3 = current($path)+0;




// 1. NAVI (Menu horizontal)


$NAV1 = "";
$cat_id = 0;

@include $REX[INCLUDE_PATH]."/generated/categories/$cat_id.list.category";
$NAV = $REX[RECAT][$cat_id];

for ($i=0;$i<count($NAV);$i++)
{

 $id = current($NAV);
 $aid = $REX[CAT][$id][article_id];
 $name = $REX[CAT][$id][name];

if ($i==0) $NAV1 .= "";
 
 // wofür brauche ich das?!?!
 @include $REX[INCLUDE_PATH]."/generated/articles/$aid.article";

 if ($cat2==$id and $REX[CAT][$id][status]==1)
 // Selected navbaritem
 {
    $NAV1 .= "<li><a href=index.php?article_id=$aid class=nava>$name</a></li>";

   if ($NAV2 != "") $NAV1 .= "$NAV2"; //alte Version "<li>&nbsp;</li>$NAV2"

 }elseif ($REX[CAT][$id][status]==1)
 {
     if ($name == "")
     // No  navbaritem (placeholder)
     {
       $NAV1 .= "<li>&nbsp;</li>";
      
     }else
     // Not selected navbaritem
     {
       $NAV1 .= "<li><a href=index.php?article_id=$aid class=nav>$name</a></li>";

      }

}
   
 if (($i+1)==count($NAV)) $NAV1 .= "";

 next($NAV);
}

echo $NAV1;

?>
</ul>
Jetzt brauche ich dringend Nach-Hilfe!!! Was ich auch nicht verstehe ist, warum wird die Navigation nicht durch ein select* ... direkt aus der Datenbank generiert - aber das nur am Rande...


Liebe Grüße
Reinhold

Verfasst: 23. Nov 2004, 19:16
von Jan.Kristinus
hi reinhold,

du kannst du navigation auch über sql abfragen. diese etwas aufaendigere variante hier hat nur den vorteil das du keinen datenbank aufruf brauchst und es schneller geht. ansonsten gehts auch über sql.

REX_CATEGORY_ID wird automatisch ersetzt oder du setzte deine category_id ein.. z.b. 0 für die oberste ebene.

select * from rex_category,rex_article where rex_category.article_id=rex_article.id and rex_category.id=REX_CATEGORY_ID and rex_article.startpage=1

nicht geteste, aber so muesste es gehen.
gruss

jan

ich verzweifle...

Verfasst: 23. Nov 2004, 19:46
von Reinhold
...also langsam glaub' ich bin blöd oder stehe auf'm Schlauch.

Ich wollte eigentlich das Template nur dazu bringen mir alle Unterkategorien einschließlich des Startartikels der Hauptkategorie anzuzeigen.

Sprich, folgenden Aufbau soll die Navigation abbilden:

Home
- Einleitung (=StartArtikel der Hauptkategorie Home)
- Aktuelles (= Unterkategorie Aktuelles mit dem Artikel Aktuelles
als Startartikel)
- Termine (= Unterkategorie Termine mit dem Artikel Termine
als Startartikel)
- ...

Das ist doch auch keine absurde Anforderung, oder?!

Ich bin zwar Entwickler, aber keiner für php, helft mir doch bitte mit einer konkreten Lösung, die sich nachvollziehen lässt und funktioniert. Ansonsten bin ich ziemlich zufrieden mit der Redaxo-Lösung und möchte mich tiefer einarbeiten - also wer kann und weiß?!

Lieben Dank
Reinhold

Ich versuch's ja

Verfasst: 23. Nov 2004, 23:42
von Reinhold
also es gibt in die Funktion "getCategoryStartArticle($a_category_id)"
in der "class.ooarticle.inc.php". Die tut ja genau das was ich suche.

Wie spreche die an? (ich bin immer noch kein php-Programmierer)
und wenn es performanter ist, keine selects zur Laufzeit durchzuführen, kann ich den ermittelten Namen das Startartikels den unter generated/categories generierten x.list.category-Dateien nicht hinzufügen?

z.B. in form von $REX[CAT][1][StartArticle_name] = "Einstieg";

Diesen Wert lese ich dann in meinem Template zur Subnavi wieder aus (und leider bin ich es immer noch nicht - ein php-Programmierer)

Wer kann, wer weiss
Reinhold

Neu aufgreifen

Verfasst: 25. Mär 2009, 12:01
von mrakowsky
Hallo, ich möchte den Thread nocheinmal hervorholen.

Hauptnavigationspunkt "Über Uns"
Startartikel: Über Uns
Geschichte (Unterkategorie)
Team (Unterkategorie)

Wie stelle ich es an, damit der Startartikel der Hauptkategorie "Über Uns" in der Subnavigation neben Geschichte und Team mit auftaucht?

Viele Grüße
und Danke für Hilfe!


Sorry, sehe erst jetzt, dass ich im Bereich der Version 2 bin ...

Ich verwede das Template von "Universal-Navigation Template"
(http://www.redaxo.de/168-Templatedetail ... late_id=84