Menüpunkte lassen sich nicht hinzufügen

  • Affected Version
    WoltLab Suite 5.4

    Hallo,


    aktuell lassen sich keine Menüpunkte mehr hinzufügen, es kommt immer eine Fehlermeldung.


    Requested URL
    GET /acp/index.php?menu-item-add/&menuID=1
    Referrer
    https://domain.com/acp/index.php?menu-item-list/1/
    Error Message
    Undefined array key "itemID"
    Type
    wcf\system\exception\ErrorException
    File (Line)
    /usr/www/users/user/svs/lib/system/WCF.class.php (344)
    Template Context
    ?> <option value="<?=$this->v['menuItemNode']->itemID;?>" <?php if ($this->v['menuItemNode']->itemID == $this->v['parentItemID']) { ?> selected<?php } ?> ====> <?php if ($this->v['menuItemNode']->itemID == $this->v['itemID']) { ?> disabled<?php } ?> > <?php if ($this->v['menuItemNode']->getDepth() > 1) { ?><?=str_repeat("&nbsp;&nbsp;&nbsp;&nbsp;",($this->v['menuItemNode']->getDepth()-1));?><?php } ?><?=wcf\util\StringUtil::encodeHTML($this->v['menuItemNode']->getTitle());?> </option> <?php } unset($this->v['menuItemNode']);$this->v['menuItemNode'] = $this->foreachVars['c01e20ae02e5d663f2e0a4c9946507d17282abdd']['item']; unset($this->foreachVars['c01e20ae02e5d663f2e0a4c9946507d17282abdd']);
    Stacktrace
    1. /usr/www/users/user/svs/acp/templates/compiled/0_wcf_1_menuItemAdd.php (826): wcf\system\WCF::handleError(…)
    2. /usr/www/users/user/svs/lib/system/template/TemplateEngine.class.php (346): include(…)
    3. /usr/www/users/user/svs/lib/page/AbstractPage.class.php (371): wcf\system\template\TemplateEngine->display(…)
    4. /usr/www/users/user/svs/lib/page/AbstractPage.class.php (122): wcf\page\AbstractPage->show(…)
    5. /usr/www/users/user/svs/lib/system/request/Request.class.php (89): wcf\page\AbstractPage->__run(…)
    6. /usr/www/users/user/svs/lib/system/request/RequestHandler.class.php (119): wcf\system\request\Request->execute(…)
    7. /usr/www/users/user/svs/acp/index.php (11): wcf\system\request\RequestHandler->handle(…)


    Grüße

    FreeFun

  • FreeFun vorübergehender Workaround:


    1. Öffne die Datei acp/templates/menuItemAdd.tpl
    2. Ersetze Zeile 77 ({if $menuItemNode->itemID == $itemID} disabled{/if}) durch folgenden Inhalt: {if $action == 'edit' && $menuItemNode->itemID == $itemID} disabled{/if}
    3. Speichere die Datei.

    Damit hast du es erstmal gefixt und kannst wieder Menüpunkte anlegen bis der offizielle Fix kommt.

  • Ein paar mehr Betas releasen, dann haben wir nicht die Fehler in unseren Live Versionen, wäre echt super!

    Wer redet hier von Betas?

    Man kann es auch einfach nur immer wieder wiederholen:

    Fehler passieren nunmal....


    Des Weiteren kann jeder hingehen und einen Workaround händisch anwenden:

    FreeFun vorübergehender Workaround:


    1. Öffne die Datei acp/templates/menuItemAdd.tpl
    2. Ersetze Zeile 77 ({if $menuItemNode->itemID == $itemID} disabled{/if}) durch folgenden Inhalt: {if $action == 'edit' && $menuItemNode->itemID == $itemID} disabled{/if}
    3. Speichere die Datei.

    Damit hast du es erstmal gefixt und kannst wieder Menüpunkte anlegen bis der offizielle Fix kommt.

    Dazu kommt, dass man Menüpunkte nunmal nicht tagtäglich wechselt.


    Du hast im übrigen auch die Möglichkeit via Backup ein Rollback zu fahren ;)

  • Du hast im übrigen auch die Möglichkeit via Backup ein Rollback zu fahren ;)

    Oder einfach nicht der erste sein der das Update haben wollen und mal ein halbes Jahr warten dann sind solche Kleinigkeiten auch behoben.

  • Oder einfach nicht der erste sein der das Update haben wollen und mal ein halbes Jahr warten dann sind solche Kleinigkeiten auch behoben.

    Halbes jahr jetzt nicht unbedingt, aber vielleicht ein paar Tage.

  • Halbes jahr jetzt nicht unbedingt, aber vielleicht ein paar Tage.

    Wenn man sicher gehen will eine Fehler freie Version nutzen zu können passt das schon schau doch mal wie lange die 5.4 schon draußen ist 😉

  • Guten Morgen,


    gibt es hier bezüglich was neues, statt den Workaround zu benutzen? :)


    PS: mit PHP 7.4 taucht der fehler nicht auf

  • Guten Morgen,


    gibt es hier bezüglich was neues, statt den Workaround zu benutzen? :)


    PS: mit PHP 7.4 taucht der fehler nicht auf

    Nein,

    wenn es in Github behoben ist, ändert sich das Label auf "behoben".

    Ansonsten kann man immer Github tracken, was den Core betrifft:

    WoltLab/WCF
    WoltLab Suite Core (previously WoltLab Community Framework) - WoltLab/WCF
    github.com

  • Der Fehler tritt augenscheinlich als Folge von Menüpunkt verschwindet, wenn übergeordneter Menüpunkt der gleiche ist auf.

    Mir erklärt sich allerdings nicht, weshalb der Fehler unter PHP 7.4 nicht auftreten sollte, weil der Fehler erstmal nicht davon abhängig ist. Es fehlt einfach die Abfrage, ob der Menüpunkt bearbeitet oder neu erstellt wird. Sowohl in PHP 8 als auch PHP 7.4 greift man beim Erstellen eines Menüpunkts auf eine Variable zu, die es nicht gibt. Das Verhalten sollte also gleich sein.