Posts by beMananas

    Ich würde mir wünschen, das man bei der Verwendung einer MultiSelectOptionType welche AbstractCategoryMultiSelectOptionType verwendet die Tiefe $categoryList->setMaxDepth(0); als Variable übergeben könnte anstelle der Funktion im eigenen OptionType einzubinden, und das Template categoryMultiSelectOptionType entsürechend anpasst damit mehrere Unterkategorien angezeigt werden könnten.


    So würde man sich ein eigenes Template ersparen voraussichtlich ohne das die bestehende Funktionalität beeinträchtigt wäre.

    für deine erste Frage würde mir das Plugin für die Galerie einfallen

    Edit: Wie unten erwähnt wurde der Verkauf eingestellt. Sorry :)

    EDIT: Sorry ist kein Fehler. Das Template ist einfach nicht dafür ausgelegt. Hier der entsprechende Wunsch: AbstractCategoryMultiSelectOptionType: Tiefe als Option erweitern - WoltLab Suite Core - WoltLab®



    Ich möchte den MultiSelectOptionType für ein Plugin verwenden. Dabei ist mir aufgefallen, dass mir nur die Hauptkategorie und die erste Unterkategorie angezeigt wird. Also habe ich die function getFormElement kopiert und setMaxDepth angepasst.

    So erhalte ich jedoch eine sehr spezielle Auflistung

    Übersehe ich hier tatsächlich etwas, oder ist hier unter umständen die Auflistung fehlerhaft?


    Die Ausgabe von $categoryList in der Funktion getFormElement scheint zumindest korrekt zu sein. Bevor ich hier jedoch ein eigenes Templates für die Ausgabe erstelle wollte ich hier erstmal reinhören ob das einfach nicht gewollt ist das mehr als eine Unterebene verwendet wird.


    Sollte es so sein wäre es nett wenn ihr diesen Beitrag in die Ideen verschiebt.

    Danke. Darf ich fragen wie du auf maxDecimals kommst?

    WoltLab nennt diese ja Explicit decimalPlaces und nichts mit max. Und auch wenn es als Max bezeichnet wäre würde es nicht erklären weshalb das Ergebnis mit der Angabe von decimalPlaces 100 ausgibt anstelle der korrekten Berechnung.

    Vielleicht übersehe ich etwas. Ich versuche eine Zahl zu Formatieren und möchte danach zwei Kommastellen haben.


    Hier ein ganz simples Beispiel

    Eigentlich ging ich davon aus das der Parameter decimalPlaces wie der Name vermuten lässt die Anzahl Dezimalstellen übergibt. Dem scheint aber nicht so zu sein.

    Code
    let myNumber = 99.20;
    let calc = myNumber + 20.50;
    // Ziel wäre 119,70
    console.log(1, StringUtil.formatNumeric(calc)); //Ergebnis: 119,7
    console.log(2, StringUtil.formatNumeric(calc, 2)); //Ergebnis: 100

    Ist hier einfach der Parametername unglücklich oder liegt hier ein Fehler vor?

    Habe gerade gesehen mit der Suche findest du die Option "Nutzungsbedingungen aktivieren" gar nicht im 3.1 sorry.


    Du musst nur die Option "Nutzungsbedingungen aktivieren" deaktivieren so wie oben geschrieben.

    Nutzungsbedingungen sind der Disclaimer

    Dafür ist die Einstellung "Nutzungsbedingungen aktivieren" unter Konfiguration, Optionen, Benutzer, Registrierung da. Du findest im ACP oben ein Suchfeld. Wenn du dort Disclaimer eigiebst findest du die Einstellung direkt.

    Wenn ich eine neue App erstelle und das database PIP verwende wird mir dies auch in den Devtools angezeigt. Dann ist meine Ordnerstruktur wie folgt

    Code
    files_app
       acp
         database
            install_com.bemananas.app._1.0.0.php

    Wenn ich nun für diese Applikation eine Erweiterung erstelle und die Struktur eigentlich genau gleich habe

    Code
    files_app
       acp
         database
            install_com.bemananas.app.plugin_1.0.0.php

    Zeigen mir die Devtools das Database PIP nicht an. In der package.xml habe ich gem. Dokumentation das Attribut application eingefügt, so dass es bei der Installation auch klappen dürfte. Dies muss ich dann aber noch versuchen.


    Vielleicht übersehe ich auch etwas.

    Ich weiss nicht ob dies ein Fehler in PhpStorm ist, ob ich gerade auf dem Schlauch steh oder hier vielleicht ein Fehler vorliegt.


    Sobald ich in einem Plugin das TextFormField verwende, erhalte ich in PhpStorm sofort die Fehlermeldung Cannot call abstract method 'IFormNode::create'. Alle anderen (TitleFormField, PassworfFormField, BooleanFormField,...) geben keinen Fehler aus.

    Ich würde mir wünschen, dass die WoltLab Paketserver deaktiviert werden können wenn z.B. das Modul Entwickler-Werkzeuge aktivieren aktiviert ist.


    So kann ich z.B. einfacher Testen ob auf einem eigenen Paketserver alles funktioniert. Wenn meine Daten hinterlegt sind (was ich habe um Updaten zu können), läd er mir meine Plugins immer aus dem WoltLab Plugin Store herunter. Der Authentifizierungs-Code ist hinterlegt.

    Danke Tim. Nun weiss ich schonmal das mein Problem durch meinen CategoryType kommt welcher natürlich AbstractCategoryType beinhaltet welches wiederum ein SingletonFactory ist.

    Nun muss ich mal schauen ob ich da eine gute Lösung finde ohne alles umzuschreiben, zumal ich clearCache ja ausserhalb meines eventListeners verwenden kann

    Ich stehe aktuell gerade etwas auf dem Schlauch und verstehe den Grund noch nicht. Vielleicht kann mir ja jemand auf die Sprünge helfen.


    Ich verwende einen CachBuilder was auch funktioniert.


    De Cache setze ich wie folgt zurück

    Code
    MyCategoryCache::getInstance()->clearCache();

    Das gibt mir auch keine Fehler aus. Der CacheBuilder ist eigentlich sehr Simpel aufgebaut. Hier die gekürzte Version mit dem ich den Fehler aber auch erhalte.

    PHP
    protected function rebuild(array $parameters)
        {
            $data = [];
            $categoryTree = new MyCategoryNodeTree('com.bemananas.my.category');
            $categoryList = $categoryTree->getIterator();
            foreach ($categoryList as $category) {
                $data[] = $category;
            }
            return $data;
        }

    Der Fehler tritt immer auf der Seite CategoryList.class.php im ACP auf. Wenn ich clearCache() direkt dort einfüge gibt es keinen Fehler. Das nützt mir aber nichts weil ich diesen nur nach dem ich die Kategorien neu sortiert habe auslösen möchte.


    Ich habe mir also einen eventLIstener angelegt

    XML
            <eventlistener name="categoryAction">
                <eventclassname>wcf\data\category\CategoryAction</eventclassname>
                <eventname>finalizeAction</eventname>
                <environment>admin</environment>
                <inherit>1</inherit>
                <listenerclassname>my\system\event\listener\CategoryActionListener</listenerclassname>
            </eventlistener>

    Der EventListener sieht wie folgt aus

    Beim Sortieren erhalte ich dann jedoch meist diesen fehler

    In der updatePosition sehe ich aber grad nichts spezielles. Was übersehe ich hier?