Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Automatische SEO-URLs in moziloCMS – Plugin verfügbar

Begonnen von bernhard_u, 23. März 2026, 08:17:32

« vorheriges - nächstes »

bernhard_u

Vielen Dank für das ausführliche Feedback und den Screenshot – das hat sehr geholfen, das Problem genau zu verstehen!

Mit Version 1.3.4 wurde die Meldung präzisiert. Statt "PLUGIN DEAKTIVIERT" erscheint nun "SEO-URLs inaktiv" – denn das Plugin selbst bleibt aktiv, nur die Slug-Umleitung ist ausgesetzt. Sobald die .htaccess korrekt konfiguriert ist, nimmt das Plugin den Betrieb automatisch wieder auf – kein erneutes Aktivieren im Admin nötig.

Den Widerspruch bei der Versionsangabe "2.0 / 3.0" habe ich ebenfalls adressiert: direkt in der Voraussetzungen-Tabelle im Admin-Bereich erklärt warum die "2" im Versionsstring technisch erforderlich ist, obwohl moziloCMS 2.x nicht unterstützt wird (wenn das Problem im CMS Kern gefixt ist, kann man die korrekte Anagebe zur Version machen).

Noch eine Bitte für künftige Fehlerberichte: das Mitschicken der .htaccess-Konfiguration (oder zumindest der relevanten RewriteRule-Blöcke) erleichtert die Analyse erheblich und hilft dabei, das Problem schneller einzugrenzen.

Das Update ist auf GitHub verfügbar: https://github.com/bernhardunger/moziloCMS_seo_plugin

harry60

Hallo Bernhard,

Ich habe die $info wie bei den vorangegangenen Versionen geändert, dann funktioniert es. Das zip wird als Plugin eingelesen.
Ohne array() wird das Plugin nicht erkannt.

$info = array(
            '<b>seo_urls</b> ' . self::VERSION,
            '3.0',  // Hinweis: moziloCMS prüft ob '2' im String enthalten ist.
            // Fehlt die '2', deaktiviert der Admin das Plugin automatisch.
            // Das Plugin unterstützt nur moziloCMS 3.0.x – siehe getInfo().
            $description,
            '',
            '',
            array('seo', 'url', 'rewrite', 'slug')
        );

        return $info;

Schöne Grüße

harry60

Muß noch ergänzen, das ich das Plugin, mit der Änderung, mit Version 3.0.5 beta1 getestet habe.

Schöne Grüße

bernhard_u

Hallo,

vielen Dank für dein Feedback – ich habe das jetzt genauer untersucht und kann die Ursache erklären.

Der moziloCMS Plugin-Loader von 3.0.5 beta prüft in admin/plugins.php (Z. 239–266) den Versionsstring aus getInfo() so:

$pl_ver = 0;
if (!empty($plugin_info[1])) {
    $needed_mozilo_version = $plugin_info[1];
} else {
    $pl_ver = 1;
}
$pos = strpos($needed_mozilo_version, '1.1');
if ($pos !== false) {
    $pl_ver = 1;
}
$pos = strpos($needed_mozilo_version, '2');
if ($pos !== false) {
    $pl_ver = 2;
}
if ($pl_ver < 2) {
    // Plugin wird als 1.x erkannt und automatisch deaktiviert
}

Der String wird also mit strpos() auf '2' geprüft – enthält er keine '2', wird das Plugin als moziloCMS 1.x-Version eingestuft und automatisch deaktiviert. Das erklärt warum '3.0' allein nicht funktioniert.

Der Versionsstring '2.0 / 3.0' ist in v1.3.4 und v1.3.5 des seo_url Plugins identisch und enthält die benötigte '2' – der einzige Unterschied zwischen den beiden Versionen in getInfo() ist die Array-Syntax (array() vs. []). Kannst du nochmal prüfen welche Version du ursprünglich installiert hattest? Falls du tatsächlich v1.3.5 verwendet hast und [] das Problem war, wäre das ein CMS-seitiger Bug den ich gerne weiterverfolgen würde.

Viele Grüße
Bernhard

harry60

Hallo Bernhard,

Mein letzter Eintrag war leider falsch. Meine beta Version hatte sich schon bischen verändert. Das $info = [] ist schon richtig, ergibt keine Fehler. Auch deine neue Version v1.3.5 funktioniert auch.

Zum Problem mit dem Erkennen der Plugin-Version. Wie ich schon schrieb, sind wir dabei die Pluginerkennung komplett zu erneuern. Dauert noch.

Ich habe hier mal einen Vorschlag, als Zwischenlösung für Mozilo 3.0.5. Kannst du das mal testen?

$needed_mozilo_version = $plugin_info[1] ?? '';
$pl_ver = 0;

if ($needed_mozilo_version === '') {
    $pl_ver = 1;
}

$checks = [
    '1.1' => 1,
    '2'   => 2,
    '3'   => 2, // bewusst so gewollt
];

foreach ($checks as $needle => $value) {
    if (strpos($needed_mozilo_version, $needle) !== false) {
        $pl_ver = $value;
    }
}

Das sollte dann auch mit nur '3.0' bei $info funktionieren. Also deine Version nur für Mozilo 3.0.

Schöne Grüße

bernhard_u

Hallo,

vielen Dank für die Klärung und den Vorschlag – das ist eine elegante Lösung!

Ich habe den Fix lokal getestet und kann bestätigen: er funktioniert wie beschrieben. Mit dem angepassten Versionscheck wird '3.0' korrekt als moziloCMS 3.x-Plugin erkannt und das Plugin wird nicht mehr automatisch deaktiviert.

Sobald der Fix in einer stabilen moziloCMS-Version landet, werde ich den Versionsstring in seo_urls von '2.0 / 3.0' auf das sauberere '3.0' umstellen. Kannst du mich kurz informieren wenn das der Fall ist?

Bis dahin bleibt '2.0 / 3.0' als Workaround drin – funktioniert ja zuverlässig mit beiden CMS-Versionen.

Viele Grüße
Bernhard