Navigation Tree im Album

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
helluvaguy
Beiträge: 128
Registriert: Di 06.Apr, 2004 20:22

Navigation Tree im Album

Beitrag von helluvaguy »

Deine phpBB Version: 2.0.15
Typ Deines phpBB Forums: Standard phpBB (auch Vanilla genannt)
MODs: Ja
Dein Wissensstand: Grundwissen
Link zu Deinem Forum: http://www.bs-scouts.de/phpBB2/album.php

PHP Version: 4.3.10
MySQL Version: 3.23.57-log


Was hast Du gemacht, bevor das Problem aufgetreten ist?
Nur den Full Album Mod eingebaut.

Jaja, ich weiß, damit fangen die meisten Problem an. :D



Was hast Du bereits versucht um das Problem zu lösen?
Den betreffenden Code in album_cat.php und album_mod/album_hirarchy_functions.php.php mit den Orginaldateien der jeweiligen Mods verglichen.



Fehlerbeschreibung und Nachricht

Kann mir evtl jemand sagen, warum die Links des Navigations Trees im Album meiner Site nicht so "verschachtelt" dargestellt wird, wie es eigentlich sollte?

In jeder Unterkategorie sieht es so aus

Forum-Index -> Album -> Subcategorie 3

Wo es doch aber so aussehen sollte

Forum-Index -> Album -> Subcategorie 1 -> Subcategorie 2 -> Subcategorie 3
Zuletzt geändert von helluvaguy am Mi 18.Mai, 2005 12:12, insgesamt 3-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hmpf.
Nö.
Keine Ahnung.
Ich denke, hier ist in der Erstellung der Navi ein Fehler drinnen oder es ist Absicht.
Vielleicht wird nur nicht jede Kategorie vom Root zum Ziel abgefragt.
So wie es eigentlich sein sollte...
Öhm, muss man mal nachschauen, wo, bzw. in welcher Datei diese Navi erstellt wird...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
helluvaguy
Beiträge: 128
Registriert: Di 06.Apr, 2004 20:22

Beitrag von helluvaguy »

Wie schon gesagt, habe ich danach gesucht und diese beiden Stellen gefunden.
Inalbum_mod/album_hirarchy_functions.php

Code: Alles auswählen

//-----------------------------------------------
// Create the navigation tree at the top of the
// page..like : fortum title -> categori -> forum
//-----------------------------------------------
function album_make_nav_tree($cur_cat_id, $pgm, $nav_class = 'nav', $user_id = ALBUM_PUBLIC_GALLERY)
{
    global $album_data;
    // get topic or post level
    $topic_title = '';
    $fcur = '';

    // keep the compliancy with prec versions
    if (!isset($album_data['keys'][$cur_cat_id]))
    {
        $cur_cat_id = isset($album_data['keys'][$cur_cat_id]) ? $cur_cat_id : $cur_cat_id;
    }

    // find the object
    $this = isset($album_data['keys'][$cur_cat_id]) ? $album_data['keys'][$cur_cat_id] : ALBUM_ROOT_CATEGORY;
    $res = '';

    while (($this >= 0) || ($fcur != ''))
	{
        $field_name = album_get_object_lang($cur_cat_id, 'name');
        $param_type = 'cat_id';
        $param_value = $album_data['id'][$this];

        if ($pgm != '')
			$pgm_name = $pgm;

        if (!empty($field_name) && ( $album_data['auth'][$param_value]['view']==1) )
            $res = '<a href="' . append_sid(album_append_uid('./' . $pgm_name . (($field_name != '') ? "?$param_type=$param_value" : ''))) . '" class="' . $nav_class . '">' . $field_name . '</a>' . (($res != '') ? ALBUM_NAV_ARROW . $res : '');

        // find parent object
        if ($fcur != '')
		{
            $cur = $fcur;
            $pgm = '';
            $fcur = '';
            $topic_title = '';
        }
		else
		{
            $cur_cat_id = $album_data['parent'][$this];
        }

        if ( isset($album_data['keys'][$cur_cat_id]) )
        {
            $this = $album_data['keys'][$cur_cat_id];
        }
		else
        {
		    $this = ALBUM_ROOT_CATEGORY;
        }
    } // while
    return $res;
}

und in album_cat.php

Code: Alles auswählen

//--- Album Category Hierarchy : begin
//--- version : 1.1.0
// Update the naVigation tree
// $album_nav_cat_desc = album_make_nav_tree($cat_id, "album_cat.$phpEx", "nav" , $album_user_id);
$album_nav_cat_desc = album_make_nav_tree($cat_id, $nav_pgm); 
if ($album_nav_cat_desc != '') $album_nav_cat_desc = ALBUM_NAV_ARROW . $album_nav_cat_desc;
//--- Album Category Hierarchy : end
Beim Vergleich mit den Orginalseiten der jeweiligen Mods fand ich sie auch nur so vor. Habe ich da was übersehen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich schätze, hier ist der Knackpunkt:

Code: Alles auswählen

$res = '<a href="' . append_sid(album_append_uid('./' . $pgm_name . (($field_name != '') ? "?$param_type=$param_value" : ''))) . '" class="' . $nav_class . '">' . $field_name . '</a>' . (($res != '') ? ALBUM_NAV_ARROW . $res : '');
Diese Variable wird zurückgegeben, sollte also $ret .= ... lauten, um alle vorherigen Werte eben zu erhalten.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
helluvaguy
Beiträge: 128
Registriert: Di 06.Apr, 2004 20:22

Beitrag von helluvaguy »

Öhm, mal angenommen Du meinstest eigentlich $res .= statt $ret .=
Wenn Du damit sagen wolltest, dass es so aussehen sollte, dann hat das nicht funktioniert.

Code: Alles auswählen

$res .= '<a href="' . append_sid(album_append_uid('./' . $pgm_name . (($field_name != '') ? "?$param_type=$param_value" : ''))) . '" class="' . $nav_class . '">' . $field_name . '</a>' . (($res != '') ? ALBUM_NAV_ARROW . $res : '');
Ansonsten muß ich gestehen, dass ich nicht verstehe, was Du mir damit sagen möchtest :!:
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Der Navigations-Pfad wird in einer Schleife erstellt. Da $res (Tippelfehler) hier aber nur immer zugewiesen wird ("=") und nichts an diese Variable angehangen (".="), ging ich davon aus, daß dieser Punkt eben reicht.
Dann wohl nicht...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
helluvaguy
Beiträge: 128
Registriert: Di 06.Apr, 2004 20:22

Beitrag von helluvaguy »

Evtl hilft das ja.

Mir ist erst jetzt aufgefallen, dass in der album_showpage.php alles richtig angezeigt wird
Portal -> Forums-Index -> Album -> Season 2003 -> College Series Turniere -> Braunschweig 2003 -> Am Abend davor
Ändere ich dagegen die erwähnte Zeile, sieht es auf dieser Seite, die das einzelne Bild zeigen so aus
Portal -> Forums-Index -> Album -> Am Abend davorBraunschweig 2003 -> Am Abend davorCollege Series Turniere -> Am Abend davorBraunschweig 2003 -> Am Abend davorSeason 2003 -> Am Abend davorBraunschweig 2003 -> Am Abend davorCollege Series Turniere -> Am Abend davorBraunschweig 2003 -> Am Abend davor
Antworten