[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Drop Down Menü - 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/
la_sol
Beiträge: 30
Registriert: 8. Feb 2010, 17:31

Drop Down Menü

8. Aug 2011, 18:50

Hallo

hoff es kann mir jemand helfen

würde gerne in meine seite ein dropdownmenü mit alle unterkategorien einbauen.

aber ich bin einfach zu dumm.

Anbei screen wie ich es mir vorstelle!



Hat zufällig jemand von euch so ein modul für mich

DANKE
Dateianhänge
dropdown.jpg
dropdown.jpg (97.07 KiB) 11610 mal betrachtet

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

Re: Drop Down Menü

8. Aug 2011, 19:29

Hallo la-sol,

vielleicht hilft das weiter

Code: Alles auswählen

<select name="VALUE[1]" value="REX_VALUE[1]">
<?php
function getCatChildren($catId,$levelMarker="")
{
	$cat = OOCategory::getCategoryById($catId);

    $selValue .= '<option value="'.$cat->getId().'"';
    if($cat->getID() == "REX_VALUE[1]")
    {
		$selValue .= ' selected="selected" ';
    }
    $selValue .= '>'.$levelMarker.$cat->getName().'</option>'."\n";

	if($cat->getChildren(1))
  	{
  		$levelMarker .= $levelMarker;
  		foreach($cat->getChildren(1) as $child)
    	{
			$selValue .= getCatChildren($child->getId(),$levelMarker);
		}
    }
	return $selValue;
}
// Zeichen zur Kennzeichnung der Level in der Auswahlliste festlegen
// Vorgabe sind zwei feste Leerzeichen, koennten aber auch --, oder ****
// oder beliebige andere Zeichen sein
$levelMarker = '&nbsp;&nbsp;';

// alle Kategorien auslesen und in AuswahlFeld uebertragen
$rCats = OOCategory::getRootCategories(1);

foreach($rCats as $rCat)
{
	$selValue .= getCatChildren($rCat->getId(),$levelMarker);
}
echo $selValue;
?>
</select>
Der Quellcode ist schon älter (2008), sollte aber noch funktionieren.

Gruß

Peter

la_sol
Beiträge: 30
Registriert: 8. Feb 2010, 17:31

Re: Drop Down Menü

8. Aug 2011, 19:38

Hallo

danke für die schnelle antwort.

vom prinzip ist das ganau das was ich suche.

nur zeigt er mir alle menüpunkte an.

ich ich hätte gerne nur die aus einer bestimmten kategorie.

wie bzw. was muss ich den umstellen???

Schöne grüße

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

Re: Drop Down Menü

8. Aug 2011, 19:52

Ersetze foreach durch die Zuweisung einer Kategorie-ID

Code: Alles auswählen

...
// alle Kategorien auslesen und in AuswahlFeld uebertragen
// $rCats = OOCategory::getRootCategories(1);

// foreach($rCats as $rCat)
// {
// 	$selValue .= getCatChildren($rCat->getId(),$levelMarker);
// }
// Kategorie-ID vorgeben
$kategorieId = 1;
$selValue = getCatChildren($kategorieId,$levelMarker);
echo $selValue;
...

la_sol
Beiträge: 30
Registriert: 8. Feb 2010, 17:31

Re: Drop Down Menü

9. Aug 2011, 07:59

Hallo

jetz klappt das schon sow wie ich meine.

aber er zeigt mir jetzt alles 6 mal an - sprich es wiederholt sich immer wieder

wo ist denn mein fehler??

"<select name="VALUE[1]" value="REX_VALUE[1]">
<?php
function getCatChildren($catId,$levelMarker="")
{
$cat = OOCategory::getCategoryById($catId);

$selValue .= '<option value="'.$cat->getId().'"';
if($cat->getID() == "REX_VALUE[1]")
{
$selValue .= ' selected="selected" ';
}
$selValue .= '>'.$levelMarker.$cat->getName().'</option>'."\n";

if($cat->getChildren(1))
{
$levelMarker .= $levelMarker;
foreach($cat->getChildren(1) as $child)
{
$selValue .= getCatChildren($child->getId(),$levelMarker);
}
}
return $selValue;
}
// Zeichen zur Kennzeichnung der Level in der Auswahlliste festlegen
// Vorgabe sind zwei feste Leerzeichen, koennten aber auch --, oder ****
// oder beliebige andere Zeichen sein
$levelMarker = '&nbsp;&nbsp;';

// alle Kategorien auslesen und in AuswahlFeld uebertragen
$rCats = OOCategory::getRootCategories(1);

foreach($rCats as $rCat)
{
$selValue .= getCatChildren($rCat->getId(),$levelMarker);
// }
// Kategorie-ID vorgeben
$kategorieId = 207;
$selValue = getCatChildren($kategorieId,$levelMarker);
echo $selValue;
}
?>
</select>

"

danke für die hilfe!!!!

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

Re: Drop Down Menü

9. Aug 2011, 18:01

Du hast das "foreach" nicht auskommentiert. Da deine Seite vermutlich sechs Rootkategorien hat, wird deine Kategorienauswahl auch sechsmal angezeigt.

ändere

Code: Alles auswählen

foreach($rCats as $rCat)
{
$selValue .= getCatChildren($rCat->getId(),$levelMarker);
// }
// Kategorie-ID vorgeben
$kategorieId = 207;
$selValue = getCatChildren($kategorieId,$levelMarker);
echo $selValue;
?>
</select>
in

Code: Alles auswählen

// foreach($rCats as $rCat)
// {
//    $selValue .= getCatChildren($rCat->getId(),$levelMarker);
// }
// Kategorie-ID vorgeben
$kategorieId = 1;
$selValue = getCatChildren($kategorieId,$levelMarker);
echo $selValue;
?>
</select>
Gruß

Peter

la_sol
Beiträge: 30
Registriert: 8. Feb 2010, 17:31

Re: Drop Down Menü

10. Aug 2011, 09:19

Hallo

super danke - jetz hat es geklappt

nur eine kleine letzte frage dazu hab ich noch!

die menupunkte kann ich zwar anklicken aber der link zur seite wird nicht geöffnet.

an was kann das den noch liegen??

"<select name="VALUE[1]" value="REX_VALUE[1]">
<?php
function getCatChildren($catId,$levelMarker="")
{
$cat = OOCategory::getCategoryById($catId);

$selValue .= '<option value="'.$cat->getId().'"';
if($cat->getID() == "REX_VALUE[1]")
{
$selValue .= ' selected="selected" ';
}
$selValue .= '>'.$levelMarker.$cat->getName().'</option>'."\n";

if($cat->getChildren(1))
{
$levelMarker .= $levelMarker;
foreach($cat->getChildren(1) as $child)
{
$selValue .= getCatChildren($child->getId(),$levelMarker);
}
}
return $selValue;
}
// Zeichen zur Kennzeichnung der Level in der Auswahlliste festlegen
// Vorgabe sind zwei feste Leerzeichen, koennten aber auch --, oder ****
// oder beliebige andere Zeichen sein
$levelMarker = '&nbsp;&nbsp;';

// alle Kategorien auslesen und in AuswahlFeld uebertragen
$rCats = OOCategory::getRootCategories(1);

// foreach($rCats as $rCat)
// {
// $selValue .= getCatChildren($rCat->getId(),$levelMarker);
// }
// Kategorie-ID vorgeben
$kategorieId = 207;
$selValue = getCatChildren($kategorieId,$levelMarker);
echo $selValue;
?>
</select>"

schöne grüße
mirco

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

Re: Drop Down Menü

11. Aug 2011, 19:07

Hi Mirco,

diese Funktionalität müsste noch eingebaut werden. Da würde ich aber eher zu einer Linkliste raten, die durch ein wenig CSS zum Dropdownmenü umfunktioniert werden könnte. Im Redaxo-Downloadbereich gibt es bei den Modulen einige Beispiele für Artikellisten, an denen Du dich orientieren kannst.

CSS-Beispiele dazu findest Du u. a. bei Stu Nicholls

Gruß

Peter

Zurück zu „Allgemeines [R4]“