Joomla-Problem mit Modulen auf Unterseiten sowie ItemID-Verwaltung

Schon öfter ist mir aufgefallen, dass Joomla! ein Problem mit der Anzeige von Modulen hat. Wer dieses Problem ebenfalls hat, findet hier eine mögliche Lösung.

Ausgangsbasis

  • Joomla 1.0.14, keine Komponenten außer JCE und sh404SEF.
  • Navigationspunkte: TopMenu
  • Sichtbare Navigationspunkte zeigen auf Blog – Content Category (dasselbe Problem taucht auch bei Seiten auf, bei denen auf Content Categories in Table-Anzeige gelinkt wurde).
  • Untermenü-Punkte (aufgrund CSS-Gestaltung nicht sichtbar, aber aktiv und bei Modulpositionierung anwählbar) zeigen auf Link – Content Item
  • Selbstdefinierte Module sollen für jede einzelne Seite spezielle Bilder festdefiniert anzeigen.

Gehe ich nun auf Top-Menüpunkt A werden die Bilder dort angezeigt, allerdings auch auf jeder Unterseite dieser Content Category. Die Bildmodule, die auf die Unterseiten gelegt wurden, werden nicht angezeigt.

Gerade der Einsatz von sh404SEF zeigte den Weg zur Lösung. Denn für jedes Item fanden sich zwei URLs im System (vgl. dazu „Joomla! Probleme 1.0.12 und openSEF„:

index.php?option=com_content&Itemid=4&id=11〈=e n&task=view sowie
index.php?option=com_content&Itemid=16&id=11〈= en&task=view

Man muss nun über die Funktion „duplicate URL“ die URL mit der höheren ItemID als Main-URL definiert. Damit werden dann die Module korrekt zugewiesen. Das Problem liegt also wieder mal an der ungenügenden ItemID-Verwaltung von Joomla.

Vorgehen

Components > sh404SEF > SEF URL Manager. Häckchen vor die URL mit der niedrigeren ItemID. Man erkennt diese auch daran, dass sie in der Regel bereits Zugriffszahlen haben, während die andere Reale Url mit der identischen SEF Url Null Zugriffe hat. Nun klicken auf „Duplicate URL“. Dort dann ein Häckchen bei der gewünschten Main URL machen. Diese hat bei meinem Testprojekt einen Rank von 1, während die bisherige main-URL einen Rank von 0 hat. Oben dann auf Main URL klicken.

Probleme

Zum einen ist diese Lösung aufwändig, da grade bei größeren Projekten viele URLs zu bearbeiten sind. Optimal wäre hier eine Routine, die man bei sh404SEF auslösen könnte, eventuell via phpMyAdmin oder direkt in der Administration (alle URLs mit dem niedrigeren Rank als Main URL definieren). Vielleicht könnte man den Entwickler der Komponente dazu bringen. Leider ist mein erster Verbesserungsvorschlag im sh404SEF-Forum bislang unbeantwortet geblieben.

Zum zweiten rechne ich damit, dass jedes Speichern der Konfiguration von sh404SEF, bei dem das Leeren des Caches aktiviert wird, all diese Einstellungen ebenfalls löscht. Wer also einmal dieses Procedere der Zuweisung einer Main URL bei mehreren URLs vorgenommen hat, sollte die SEF-URLs im System nicht wieder löschen.

Sollte eine bessere und schlüssigere Lösung auftauchen, werde ich an dieser Stelle darauf hinweisen.

Kommentare (10) Schreibe einen Kommentar

  1. Hallo Frank,

    Du bist echt ein Engel 😉

    Seit geschlagenen 3 Stunden kurve ich jetzt durchs Netz, weil ich genau das Problem habe, das Du beschreibt: Verschiedene Bilder in Modulen in unterschiedlichen Kategorien in einer gemeinsamen Sektion mit Blogansicht. Alle Kategorien übernehmen das Modulbild der Blogansicht – was ja nicht sein soll.

    Dein genaue Anleitung hat mir sehr geholfen. Vielen Dank!
    Der Sonntag ist gerettet.

    Viele Grüße
    Renate

  2. Hallo Frank,

    vielen Dank für Deine Auflistung und Lösung der Problematik. Ich kämpfe bereits seit Stunden mit der Problematik der Modul-Anzeige unter „Extended Menu“. Sobald ich ein Menü auf die ausgewählte Position lade, dann erscheint es mal und mal wieder nicht. Der „title“ wird zwar angezeigt, aber die Items werden nicht gelistet.

    Selbst wenn ich ein Item, bei dem alles korrekt angezeigt wird, kopiere erscheinen die Items nicht. Deinen Vorschlag unter sh404SEF habe ich vorgenommen, aber eine Lösung konnte ich nicht erzielen.

    Selbst in einem Forum wurden mir Lösungen unterbreitet, die nicht zum Ziel führen. Vielleicht hast Du noch was im Ärmel, was mir helfen könnte. Die Problematik kannst Du Dir unter http://www.seo-imagine.de/seo-agentur.html ansehen

    Viele Grüße

    Oliver

  3. Sorry Oliver, aber hierfür fehlt mir die Zeit. Ich benötige diese vollständig für meine Kunden und eigene Projekte.

  4. Es gibt eine Systematik, dass bei Seiten (z.B. Unterseiten, die nicht in der Navigation sichtbar sein sollen) beispielsweise das Hauptmenue-Modul verschwindet – auch wenn es so konfiguriert ist, dass es auf allen Seiten sichtbar sein soll.

    Meiner Meinung nach handelt es sich dabei um einen Fehler in Joomla – denn andere Module werden problemlos angezeigt. Der Fehler finden sich in der Methode „getActive()“ des Menu-Objektes. Die Methode liefert in oben genannten Fällen nichts zurück und der Menü-Code bricht daraufhin die Erzeugung des Menu-HTMLs ab.

    Wenn ich mehr weiß, werde ich es an geeigneter Stelle (bei Joomla) veröffentlichen.

  5. Ich hatte gerade das selbeproblem unter einer joomla 1.5 installation, ich wollte es ähnlich lösen, wie hier beschrieben, hat aber nicht bei allen einträgen geholfen.

    die lösung des problems liegt bei joomla 1.5 daran, das genau die itemId ausgewählt werden muss, die auch im jeweiligen menu eingetragen ist.

    dazu wählt man im backend menüs, wählt sein entsprechendes menü aus, schaut sich den link an, zb testeintrag, schaut, welche itemid in der tabelle steht und wählt sich in der sh404sef komponente die url als main url aus, die die gleiche itemId hat, dabei spielt es bei joomla 1.5 keine rolle, ob diese größer oder kleiner ist, es muss nur passen.

    viel erfolg

  6. ich bin von 1.0 auf 1.5 umgestiegen und ohne sh404SEF kommt man hier leider auch nicht zu recht.

    danke für die teilweise hilfreiche lösung!

    gruß

  7. Auch ich habe sehr lange herum experimentiert. Die hier geschilderten Lösungsansätze sind sicherlich der richtige Weg. Aber bis das Gewünschte richtig angezeigt wird, das hagt und dauert ewig lange.

    Deshalb wählte ich die Holzhammer Methode, die wie folgt aussieht:

    1.) unter sh404SEF wird die jeweilige Pfad gelöscht. Meist sind es mehrere – alle löschen.

    2.) die ID in das Navigationsmenü hängen und im Webbrowser aufrufen. Die URL wird in sh404SEF angelegt.

    3.) Browser Cache leeren

    Danach klappt es.

  8. mega genlial bescheuerte blogpolitik.

    entfernt die links auch bei sinnvollen kommentaren. trauriger geiz!

    hoff du bekommst kein feedback mehr und vergammelst mit der einstellung.

    traurig traurig!

  9. Die meisten Links werden gelassen. Manche Kommentatoren geben gar keine URL an. Entfernt wird nur dort, wo jemand deutlichen Keyword-Spam betreibt UND nichts wirklich aussagekräftiges hinterlässt, ansonsten wird nur das Key nicht die URL entfernt. Je nachdem, welchen Eindruck ich grade habe.
    Nur weil ich hier hilfreiche Artikel schreibe, gibt das keinem Hobby-SEO das Recht, diesen Blog zu missbrauchen.

  10. Hallo,

    ich habe dieses Problem auch noch mit Joomla 1.5 bei aktivierten SEF URLs (egal ob externe SEF Komponente oder Interne SEF). Habe ich die nicht aktiviert läuft alles tadellos. Hoffentlich wird das Problem bald gelöst…

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.