Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
autmatische Navigation
#1
Hi, als erstes möchte ich mich für den ungelungenen Titel entschuldigen, aber mir fällt gerade nichts ein. Zweitens bin ich mir über die Forenzuordnung nicht sicher, aber da ich versuche ein Gallerie System für MyBB zu programmieren gehört es vielleicht do irgendwie hier rein.
Wie gesagt geht es um meine Navigation in der Gallerie. Ich hätte zwei Fragen. Die Navigation ist in einem Container an der linken Seite untergebracht und zeigt momentan gerade die Kategorien und die Anzahl der Alben in der jeweiligen kategorie an.
1)Bis jetzt habe ich die Kategorien selbst ins Template eingetragen. Gibt es die Möglichkeit, dass die Datei sich die Daten aus der DB holt und dann den entsprechenden HTML Code erstellt, so dass ich wenn ich eine neue Kategorie hinzufügen muss nicht die Navigation ändern muss. Ich vermute, dass es mit der foreach() Schleife geht, allerdings schaffe ich es nicht den HTML Code sämtlicher Schleifen aneinandern zuhängen und dann anschließend über eine Variable auszugeben.

Ich habe jetzt mal versucht die Funktion build_forumbits(); umzuschreiben:
PHP-Code:
function build_gallerynavbits($cid=0)
{
    global 
$gncache$theme$mybb$templates$bgcolor$collapsed$lang$showdepth$plugins$parser;

    
// If no forums exist with this parent, do nothing
    
if(!is_array($gncache[$cid]))
    {
        return;
    }

    
// Foreach of the forums in this parent
    
foreach($gncache[$cid] as $parent)
    {
        foreach(
$parent as $category)
        {
            
$forums $subforums $sub_forums '';
            
$lastpost_data '';
            
$album_counters '';

            
$plugins->run_hooks("build_forumbits_forum");

            
// Build the link to this forum
            
$catgeory_url get_category_link($category['cid']);
            
            
// Add the forum to the list
            
eval("\$categorynav_list .= \"".$templates->get("categorynav_list")."\";");
            
        }
    }
    
// Return an array of information to the parent forum including child forums list, counters and lastpost information
    
return array(
        
"categorynav_list" => $categorynav_list,
        
"album_counters" => $album_counters,
    );

Dieser Code steht dann in meiner gallery.php:
PHP-Code:
// Get the categories for the nav.
$query $db->query("SELECT * FROM ".TABLE_PREFIX."gallerycategories");

// Build a category cache.                                                                                   
while($gncache $db->fetch_array($query))                                                               
{
    
$gncache[$category['cid']= $category;

}

$gallerynav_list build_gallerynavbits();
$categories $gallerynav_list['gallerynav_list'];

eval(
"\$gallerynavigation = \"".$templates->get("gallery_navigation")."\";"); 

Allerdings bekomme ich jetzt nur noch eine weiße Seite angezeigt, was läuft da falsch?

2)Mir ist die Idee gekommen, dass es möglich sein sollte, dass wenn man in der Navigation auf eine kategorie drückt, dass diese dann ausklappt und darunter sämtliche in der Kategorie befindlichen Alben anzeigt. Dazu benötigt man allerdings Java-Script, vermute ich, oder?
#2
1) Du schließt hier die eckige Klammer nicht:
PHP-Code:
$gncache[$category['cid']= $category
Besser:
PHP-Code:
$gncache[$category['cid']] = $category
2) Ja, dazu braucht man Javascript.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#3
Du kannst aber auch mal probieren, nur mit CSS eine Navigationsleiste zum Ausklappen zu bauen. Hier ist ein Link mit Anregungen und Beispielen.
[Bild: banner-hc-468x60-3.jpg]
#4
@Dragon: Danke, wie schon gesagt, typischer Fehler, aber nach 4 Stunden Programmieren passiert sowas dann irgendwann.

@Danke für den Link Hank, das schaut vielversprechend aus.