Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Nachtrag:

    Ich habe eben noch einmal geschaut, im MMLC in vendor-no-composer/autoload.php wird bereits geprüft, ob es bereits eine Klasse mit dem Namen \Composer\Autoload\ClassLoader gibt. Und der MMLC Composer wird nur geladen, wenn kein anderer Composer gefunden wurde.

    Code: PHP  [Auswählen]
    ...
    $class = '\Composer\Autoload\ClassLoader';
    if (!class_exists($class, false)) {
        require_once DIR_FS_DOCUMENT_ROOT . '/vendor/composer/ClassLoader.php';
    }
    ...
     

    In diesem Fall müsste das Amazon Modul selbst kontrollieren, ob nicht bereits Composer installiert ist, da dass Amazon Modul wohlmöglich später geladen wird und dann existiert bereits die Klasse. Da auch andere Module abseits des MMLCs hier und da mal Composer mitbringen, könnte es dann auch mit anderen Modulen zu Konflikten kommen, wenn ich keinen Gedankenfehler habe. Hmmm

    Moin Robin

    Laut der Aussage von Kerim wird das beim Amazon Modul geprüft.

    Zitat
    Unser Composer\Autoload\ClassLoader wird nämlich nur geladen, wenn die Klasse noch nicht registriert ist...

    Kann es vielleicht an den Modulen liegen, die über den MMLC installiert werden? Denn da gibts in jeder admin/includes/modules/system/modulueberMMLCgeladen.php folgenden Code am Anfang.

    Code: PHP  [Auswählen]
    <?php
    // ini_set('display_errors', 1);
    // error_reporting(E_ALL);
    // restore_error_handler();
    // restore_exception_handler();

    defined('_VALID_XTC') or die('Direct Access to this location is not allowed.');

    use RobinTheHood\ModifiedStdModule\Classes\StdModule;
    require_once DIR_FS_DOCUMENT_ROOT . '/vendor-no-composer/autoload.php';

    Könntest du ansonsten vielleicht mal in einem Testshop von dir das Amazon Pay Modul installieren und testen? Ist auch updatesicher und leicht wieder zu entfernen.

    Gruss Timm

    RobinTheHood

    • Experte
    • Beiträge: 205
    • Geschlecht:
    Hallo Timm,

    hab' vielen Dank für deine Nachricht. Ich freu mich sehr, dass du so hilfsbereit bist. Ich glaube, wir betreuen sogar ein paar Shops mit dem Amazon Modul. Ich schau da gerne noch einmal rein. Ansonsten setze ich das gerne auch noch einmal in einem Testshop auf. Ich melde mich wieder sobald ich das alles gemacht habe.

    Mit besten Grüßen
    Robin

    RobinTheHood

    • Experte
    • Beiträge: 205
    • Geschlecht:
    Hallo Timm,

    ich habe mir den Quellcode noch einmal angeschaut. Den Quellcode vom MMLC und den Quellcode vom AmazonPay Modul. Wie du bereits erwähnt hast, kontrolliert das AmazonPay Modul, ob der Composer die Klasse ClassLoader bereits geladen hat. Ich würde jetzt also auch erst einmal sagen, am AmazonPay Modul liegt es nicht.

    Der MMLC kontrolliert das (wie ich bereits beschrieben habe "eigentlich") auch. ABER: Es gibt einen Fehler in meiner Aussage, den ich nicht bedacht habe. Die Version, in der der MMLC die Kontrolle durchführt, ist noch gar nicht von mir/uns veröffentlicht. 😓 Es liegt also sehr nahe, dass der Fehler vom MMLC kommt. Das Problem wurde zwar bereits am 5. März behoben, diese neue Version ist aber noch nicht von mir/uns veröffentlicht. Hier ist das auch noch einmal dokumentiert: https://github.com/RobinTheHood/ModifiedModuleLoaderClient/issues/64

    Die Änderungen, die man am Quellcode machen muss, damit das Problem behoben wird, sind hier aufgeführt: https://github.com/RobinTheHood/ModifiedModuleLoaderClient/commit/f0ad41026ff4b78af2cb966b1547a0b3d10dfb22

    In der nächsten Version des MMLCs ist das dann natürlich mit aktualisiert.

    Die Datei /vendor-no-composer/autoload.php wird bei jeder Installation eines MMLCs Modul aktualisiert. Wenn man die Änderungen aus dem obigen Link per Hand korrigiert hat, muss man ein beliebiges Modul (deinstallieren und wieder) installierten, damit diese auch in der Datei /vendor-no-composer/autoload.php greifen. In dieser Datei sollte dann folgendes auftauchen ( bzw. vom MMLC automatisch hinzugefügt werden.)

    Code: PHP  [Auswählen]
    ...
    $class = '\Composer\Autoload\ClassLoader';
    if (!class_exists($class, false)) {
        require_once DIR_FS_DOCUMENT_ROOT . '/vendor/composer/ClassLoader.php';
    }
    ...
     

    Ich hoffe, ich kann damit dem einen oder anderen helfen. Weitere Fragen beantworte ich auch gern. Falls jemand das Problem tatsächlich vorzeitig per Hand beheben möchte und ich es nicht verständlich genug erklärt habe, dann bin ich gerne bereit es noch einmal als Step- by Step- Anleitung zu formulieren.

    Mit besten Grüßen und einen schönen Abend
    Robin

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Moin Robin

    Super, dass nun klar ist, woran es lag.  :thumbs:

    Gruss Timm

    RobinTheHood

    • Experte
    • Beiträge: 205
    • Geschlecht:
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #64 am: 05. Dezember 2023, 18:45:26
    Hallo,

    der MMLC - Modified Module Loader Client ist nun in der Version 1.22.0 verfügbar.

    Neuerungen in dieser Version:
    - Der MMLC unterstützt nun modified 3.0.0.
    - Es erfolgt eine verbesserte Auflösung von Abhängigkeiten zwischen Modul-, PHP- und den modified-Versionen.

    Eine detaillierte Übersicht über alle Änderungen findet ihr in den Release-Notes.

    Aktualisierung:
    Der MMLC 1.22.0 kann bequem über den MMLC-internen Updater (zu finden unter MMLC-Einstellungen > System) oder alternativ über module-loader.de heruntergeladen werden.

    Für Rückfragen stehe ich gerne zur Verfügung.

    Mit besten Grüßen
    Robin

    [EDIT Tomcraft 05.12.2023: Modul in Beitrag 1 aktualisiert.]

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #65 am: 06. Dezember 2023, 18:14:50
    :thumbs:

    Viol

    • Fördermitglied
    • Beiträge: 2.263
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #66 am: 08. Dezember 2023, 09:47:48
    Guten Morgen,

    ich bekomme folgende Fehlermeldung:

    Modified Module Loader Client system check failed.

    Your current modified version is unknown. The MMLC supports modified versions 2.0.3.0, 2.0.4.1, 2.0.4.2, 2.0.5.0, 2.0.5.1, 2.0.6.0, 2.0.7.0, 2.0.7.1, 2.0.7.2, 3.0.0.

    Die installierte Version bei mir ist v3.0.0 rev 15588 dated: 2023-11-22

    RobinTheHood

    • Experte
    • Beiträge: 205
    • Geschlecht:
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #67 am: 08. Dezember 2023, 10:46:43
    Guten Morgen Viol,

    zunächst einmal möchte ich mich für deinen Hinweis bezüglich des mmlc_installer.php Fehlers bedanken. Ich habe deine Anmerkungen sorgfältig überprüft und konnte den Fehler in Teilen reproduzieren, nachdem ich einen neuen modified 3.0.0 Shop mit umbenannten Admin-Verzeichnis installiert und die genannte Installer-Datei in das Root-Verzeichnis kopiert habe. Ich gehen davon aus, dass du keinen Fehler gemacht hast.

    Stelle sicher, dass sich die Datei mmlc_installer.php Version 0.8.0 im Root-Verzeichnis deines Shops befindet. Die Version des Installers steht in der Datei selbst in den ersten Zeilen.

    Sollte dies der Fall sein, liegt der Fehler höchstwahrscheinlich im Installer Version 0.8.0 selbst. Insbesondere fällt auf, dass in Zeile 193 der mmlc_installer.php fest davon ausgegangen wird, dass das Admin-Verzeichnis "admin" heißt. Obwohl der MMLC selbst auch mit umbenannten Admin-Verzeichnissen zurechtkommt, ist hier anscheinend ein Fehler beim Programmieren des Installers unterlaufen. Dieser Fehler hat nur Auswirkungen auf den System-Check, welcher kontrolliert, ob der MMLC installiert werden kann. Ich vermute, dass dein Admin-Verzeichnis umbenannt ist.

    Falls das zutrifft, schlage ich zwei Lösungsansätze vor: Du könntest entweder darauf warten, dass ich den Installer aktualisiere – ich plane, dies im Laufe des Wochenende zu erledigen – oder du kannst selbst in Zeile 193 der mmlc_installer.php den Namen "admin" durch den Namen deines Admin-Verzeichnisses ersetzen.

    Code: PHP  [Auswählen]
    $path = __DIR__ . '/DEIN_ADMIN_VERZEICHNIS/includes/version.php';

    Bitte entschuldige die Unannehmlichkeiten, bei weiteren Fragen kannst du dich gerne weiter melden.

    Mit besten Grüßen
    Robin

    PS: Ich freue mich darüber, dass du den MMLC ausprobieren möchtest. 🙂

    RobinTheHood

    • Experte
    • Beiträge: 205
    • Geschlecht:
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #68 am: 08. Dezember 2023, 12:27:50
    Hallo,

    ich habe die Datei mmlc_installer.php auf Version 0.8.1 aktualisiert. In dieser Version wurde der Fehler behoben, dass der System-Check ein nicht umbenanntes Admin-Verzeichnis voraussetzte. Der System-Check der neuen Version 0.8.1 des Installers kann jetzt mit umbenannten Admin-Verzeichnissen umgehen.

    Der aktuelle Installer lässt sich unter https://module-loader.de/download.php herunterladen.

    Mit besten Grüßen
    Robin

    [EDIT Tomcraft 08.12.2023: Modul in Beitrag 1 aktualisiert.]

    Viol

    • Fördermitglied
    • Beiträge: 2.263
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #69 am: 16. Dezember 2023, 16:58:28
    Hallo,

    ich habe erneut einen Versuch gestartet und die neueste Version genutzt, aber es wird die Fehlermeldung ausgegeben "Can not find a admin dir" und dann die kompatiblen Shopversionen einschließlich 3.0.0
    Daraufhin habe ich die von Dir genannte Zeile geändert, das hatte aber bzgl. der Fehlermeldung keine Auswirkung. (Außer, dass nach obiger Fehlermeldung nichts mehr kommt.)

    RobinTheHood

    • Experte
    • Beiträge: 205
    • Geschlecht:
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #70 am: 16. Dezember 2023, 17:26:53
    Hallo Viol,

    vielen Dank für deine Nachricht. Der Installer und der MMLC setzen voraus, dass im Namen des Admin Verzeichnisses folgendes enthalten ist: "admin_". Zudem wird geprüft, dass die modified Datei "check_update.php" im Admin Verzeichnis enthalten ist. Da es schon mehrmals vorgekommen ist, das Personen mehrere Admin Verzeichnisse in Ihrem Shop hatten, wird so versucht herauszufinden, dass der Shop erst einmal nicht ungewöhnlich konfiguriert ist. Wenn bei dir diese Bedingungen erfüllt sind, kann ich mir das erst einmal nicht erklären und müsste weitere Tests durchführen.

    Mit besten Grüßen
    Robin

    Viol

    • Fördermitglied
    • Beiträge: 2.263
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #71 am: 16. Dezember 2023, 17:42:56
    Hallo Robin,
    es liegt dann vermutlich daran, dass mein Adminverzeichnis nicht mit admin_ beginnt. Am Inhalt des Verzeichnisses habe ich keine Veränderung.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #72 am: 16. Dezember 2023, 22:56:34
    Geht mich nichts an, aber warum wird nicht schlicht DIR_ADMIN verwendet ?

    Gruß,
    noRiddle

    awids

    • Experte
    • Beiträge: 3.782
    • Geschlecht:
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #73 am: 16. Dezember 2023, 23:00:33
    Den Gedanken hatte ich auch schon, aber bevor ich hier vorlaut was vorschlage, habe ich mir den Installer angesehen. Da hier keine Einbindung der application_top.php stattfindet, kann dieser auch nicht auf die System-Variablen zugreifen.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Re: BETA MODUL: Modulestore / Marktplatz für Modified Module - MMLC
    Antwort #74 am: 16. Dezember 2023, 23:03:27
    Welchen Installer, den des MMLC ?
    Wenn man nicht die ganzen Skripte der application_top.php  einbinden möchte kann man ja lediglich die /inc/set_admin_directory.inc.php  einbinden.
    Jedenfalls muß man sich dan nicht code-technisch verbiegen.

    Gruß,
    noRiddle

    P.S.
    Ach, und wolltest du etwa durch die Blume sagen ich sei vorlaut ???
    (Hättest du sogar Recht :hust:)
    32 Antworten
    5914 Aufrufe
    06. Oktober 2020, 21:18:31 von p3e
    2 Antworten
    2648 Aufrufe
    06. November 2012, 05:52:49 von Spegeli
    9 Antworten
    3049 Aufrufe
    04. Januar 2019, 17:14:15 von Shorty
               
    anything