Hidecat funktioniert nicht

Wulfnoth
Problembeschreibung:
Das Problem ist folgendes. Wenn ich eine Kategorie schließen will (über das +) wird bei mir angezeigt: "Sie haben einen ungültigen Verweis angegeben. Wenn sie einem korrekten Link gefolgt sind, sollten sie den Administrator benachrichtigen.


Link zum Forum oder Screenshot:
http://www.historik-forum.org


Was wurde zuletzt geändert oder eingebaut?
Das Problem existiert schon von Anfang an. Ursprüngliche Forenversion war 2.1.5 wurde dann jetzt auf 2.3.1 geupdatet.
Wulfnoth
Kann mir da niemand helfen? unglücklich
ThBodi
Es fehlt die Boardid. Vergleiche mal die entsprechende Stelle in Deinen Templates mit den Original-Templates, vielleicht hast Du es aus Versehen gelöscht.
Wulfnoth
Die Boardid fehlt da nicht. Hab gerade nochmal nachgeschaut.
Simps-O-Rama
Die - und + sind falsch verlinkt. Häng mal das template index_catbit an.
Wulfnoth
Hier:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
<if($depth == 1)>
 <then>
 
 <tr>
 <td class="tablecat" align="left" colspan="<if($hide_modcell==0)><then>6</then><else>5</else></if>"><table cellpadding="0" cellspacing="0">
  <tr class="tablecat_fc">
   <td><span class="normalfont">&nbsp;<if($show_hide == 1)><then><a href="$current_url"><img src="{$style['imagefolder']}/minus.gif" border="0" alt="{$LANG_START_DEACTIVATE_CAT}" title="{$LANG_START_DEACTIVATE_CAT}" /></a></then><else><if($show_hide == 2)><then><a href="$current_url"><img src="{$style['imagefolder']}/plus.gif" border="0" alt="{$LANG_START_SHOWCAT}" title="{$LANG_START_SHOWCAT}" /></a></then></if></else></if>&nbsp;</span></td>
   <td><span class="normalfont"><a href="board.php?boardid=$boards[boardid]{$SID_ARG_2ND}"><b>$boards[title]</b></a></span><span class="smallfont"><if($boards['description']!="")><then><br />$boards[description]</then></if><if($subboardbit!="")><then><br />{$lang->items['LANG_START_INCLUSIVE']} $subboardbit</then></if></span></td>
  </tr>
 </table></td>
</tr>
 
 </then>
  <else>
  
  <if($depth == 2)>
   <then>
 
 <tr>
 <td class="tableb" align="center"><img src="{$style['imagefolder']}/$onoff.gif" alt="" title="" border="0" /></td>
 <td class="tablecat" colspan="<if($hide_modcell==0)><then>5</then><else>4</else></if>" align="left"><table cellpadding="0" cellspacing="0">
  <tr class="tablecat_fc">
   <td><span class="normalfont">&nbsp;<if($show_hide == 1)><then><a href="$current_url"><img src="{$style['imagefolder']}/minus.gif" border="0" alt="{$LANG_START_DEACTIVATE_CAT}" title="{$LANG_START_DEACTIVATE_CAT}" /></a></then><else><if($show_hide == 2)><then><a href="$current_url"><img src="{$style['imagefolder']}/plus.gif" border="0" alt="{$LANG_START_SHOWCAT}" title="{$LANG_START_SHOWCAT}" /></a></then></if></else></if>&nbsp;</span></td>
   <td><span class="normalfont"><a href="board.php?boardid=$boards[boardid]{$SID_ARG_2ND}"><b>$boards[title]</b></a></span><span class="smallfont"><if($boards['description']!="")><then><br />$boards[description]</then></if><if($subboardbit!="")><then><br />{$lang->items['LANG_START_INCLUSIVE']} $subboardbit</then></if></span></td>
  </tr>
 </table></td>
</tr>
 
 </then>
  
  <else>
 
 <tr>
 <td class="tableb" align="center">&nbsp;</td>
 <td class="tablecat" colspan="<if($hide_modcell==0)><then>5</then><else>4</else></if>" align="left">
  <table cellpadding="0" cellspacing="0">
   <tr class="tablecat_fc">
    <td><img src="{$style['imagefolder']}/$onoff.gif" border="0" alt="" title="" /></td>
    <td><span class="normalfont">&nbsp;<if($show_hide == 1)><then><a href="$current_url"><img src="{$style['imagefolder']}/minus.gif" border="0" alt="{$LANG_START_DEACTIVATE_CAT}" title="{$LANG_START_DEACTIVATE_CAT}" /></a></then><else><if($show_hide == 2)><then><a href="$current_url"><img src="{$style['imagefolder']}/plus.gif" border="0" alt="{$LANG_START_SHOWCAT}" title="{$LANG_START_SHOWCAT}" /></a></then></if></else></if>&nbsp;</span></td>
    <td><span class="normalfont"><a href="board.php?boardid=$boards[boardid]{$SID_ARG_2ND}"><b>$boards[title]</b></a></span><span class="smallfont"><if($boards['description']!="")><then><br />$boards[description]</then></if><if($subboardbit!="")><then><br />{$lang->items['LANG_START_INCLUSIVE']} $subboardbit</then></if></span></td>
   </tr>
  </table>
 </td>
</tr>
 
 
 </else>
  </if>
  
  </else>
 </if>
ThBodi
Ich musste erst einen Moment suchen, weil ich es am Anfang auch nicht verstand ...

In der Datei /acp/lib/functions.php findest Du in der Funktion "makeboardbit" (Zeilen 334 & 342) folgenden Code:

php:
1:
if ($filename == 'index.php')


Da Du die index.php Deines Forums umbenannt hast und offensichtlich auch die Variable "$filename" entsprechend abgeändert hast, funktioniert die Funktion nicht so wie sie soll.

Wenn Du im obigen Code index durch forum ersetzt, sollte es wieder funktionieren.
Wulfnoth
Ja schließen kann ich die Dinger nun, aber leider nicht mehr öffnen.
flaco
Hallo Leute,
ich habe folgendes Problem im Forum.

Ich habe mehrere Kategorien erstellt. Unter diesen befinden sich Unterkategorien mit den Foren.
also so:

Kat1
--Untkat1
----Thema1
----Thema2
----Thema3
--Untkat2
----Thema4
----Thema5

Kat2
--Untkat3
----Thema6
----Thema7
----Thema8 usw.

Vor den Kategorien gibt es dieses Plus(+) Zeichen um die Kategorien zu öffnen oder eben mit dem Minus(-) Zeichen die Unterkategorien zu schließen.

Klicke ich nun z.B. auf das Minuszeichen vor der Hauptkategorie1(Kat1),
so bekomme ich immer die Fehlermeldung

Sie haben einen ungültigen Verweis angegeben. Wenn Sie einem korrekten Link gefolgt sind, sollten Sie den Administrator benachrichtigen.

Der Link sieht in der Explorerzeile so aus:
http://www.meineseite.de/board/wbb/board.php?boardid=&hidecat=3
Die boardid ist ohne Inhalt

Klicke ich aber direkt neben dem Pluszeichen auf den Link, dann funktioniert das ohne Probleme. Der Link im Browser sieht so aus:
http://www.meineseite.de/board/wbb/board.php?boardid=46

Die Unterkategorien(z.B. Untkat1) funktionieren.
Diese kann ich mit Plus oder Minus öffnen oder schließen.

Woran kann das denn liegen? Ich versuche es nun seit Tagen.

Gruß Günni
treumer
habe das selbe problem da fehlt irgendwie die board id

hier mal der ausdruck der funktion.php

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
$show_hide 0;
                                if ($boards['childlist'] != '0') {
                                        if ((isset($hidecats[$boards['boardid']]) && $hidecats[$boards['boardid']] == 0) || ($depth $index_depth && (!isset($hidecats[$boards['boardid']]) || $hidecats[$boards['boardid']] != 1))) {
                                                $show_hide 1;

                                                if ($filename == 'index.php'$current_url "index.php?hidecat=".$boards['boardid']. $SID_ARG_2ND;
                                                else $current_url "board.php?boardid=$temp_boardid&amp;hidecat=".$boards['boardid']. $SID_ARG_2ND;

                                                $LANG_START_DEACTIVATE_CAT $lang->get("LANG_START_DEACTIVATE_CAT", array('$title' => $boards['title']));
                                        }
                                        else {
                                                $show_hide 2;

                                                if ($filename == 'index.php'$current_url "index.php?showcat=".$boards['boardid']. $SID_ARG_2ND;
                                                else $current_url "board.php?boardid=$temp_boardid&amp;showcat=".$boards['boardid']. $SID_ARG_2ND;

                                                $LANG_START_SHOWCAT $lang->get("LANG_START_SHOWCAT", array('$title' => $boards['title']));
                                        }
                                }
                                eval("\$boardbit .= \"".$tpl->get("index_catbit")."\";");
                        }
                        if ((isset($hidecats[$boards['boardid']]) && $hidecats[$boards['boardid']] == 0) || ($depth $index_depth && (!isset($hidecats[$boards['boardid']]) || $hidecats[$boards['boardid']] != 1))) $boardbit .= makeboardbit($boards['boardid'], $depth 1);
                }
        }
        unset($boardcache[$boardid]);

        return $boardbit;
}


kliecke ich auf das minus zeichen kommt

board.php?boardid=&hidecat=1

wenn ich aber manuell eine 1 reinmache so

board.php?boardid=1&hidecat=1

dann geht es

was muss ich daran ändern