Module innerhalb von Text in Seite einbinden

  • Hallo,

    folgendes Problem:

    Ich habe eine Seite, dort möchte ich erst Text, dann ein Modul (Slideshow bzw. Accordion) und dann wieder Text.

    Also habe ich gemacht: Text, dann Modul einfügen --> {loadmoduleid 163} und dann den restlichen Text.

    Problem: Das Modul wird nicht angezeigt, außer ich aktiviere das Modul bei den Moduleinstellungen für diese Seite, bloß dann kommt es immer zweimal (einmal durchs aktivieren und einmal durchs einfügen mit loadmodule ... Und wenn ich es nur aktiviere, also ohne loadmodule, ist es halt entweder ober- oder unterhalb des Textblockes und nicht IM Text.

    Nach Probieren hab ich folgendes geschafft:

    Ich gebe beim Modul keine Position an, aktiviere es für die Seite und füge es dann mit loadmodule ein. Das funktioniert auch zu 95%, dann hab ich jedoch das Problem, dass das Modul nicht komplett funktioniert. Beim Accordion-Modul kann ich die Boxen nicht mehr einfahren, sie sind dauerhaft geöffnet (siehe Bild)


    (Modul: Vina Article Accordion)

    Kann mir jdm helfen? Danke und LG

  • Ich gebe beim Modul keine Position an, aktiviere es für die Seite und füge es dann mit loadmodule ein.

    Oder dort (siehe dein letzter Screenshot) halt eine Fantasieposition eintragen und mittels {loadposition fantasieposition} in den Beitrag laden.

    Aktiviert muss es in jedem Fall sein.


    Die normale Methode, es direkt auf eine existierende Modulposition zu legen, geht auch immer. Dann hast du es natürlich nicht innerhalb des Contents.


    Wenn dein Modul jedoch nicht funktioniert, dann siehe #2. Bei JS-Fehler hilft nur ein Link, damit man das analysieren kann!

    Oder du untersuchst die Seite und postest den Feher, sofern es einen geben sollte!

  • Also ich habe jetzt mal ne Fantasieposition genommen:

    Im Backend dann das Modul im Artikel eingebunden:

    Und dann geht es wieder nicht...

    http://www.dathe-gymnasium.de/…ereiche/sprachen/englisch

    Hier mal der Link zu der Seite. Also das Modul wird dort angezeigt wo es soll, aber es ist halt "passiv", macht halt nix. Und es liegt auch nicht an diesem Modul, denn wenn ich dort ein anderes meiner Module einbinde, ist es das gleiche (also dass die nicht reagieren)

  • Für eine Fanatsieposition würde ich {loadposition ... } verwenden, wie oben angegeben, nicht {loadmoduleid ...} !

    https://docs.joomla.org/How_do…e_inside_an_article%3F/de


    Der Grund für dein Problem dürfte aber dieser sein:



    Ist das Modul aktuell oder gibt es eine aktuellere Version?

    Funktioniert es reibungslos, wenn es nicht in einem Beitrag liegt?


    EDIT: Vielleicht kannst du auch hier mal nachfragen: https://forum.joomla.org/viewtopic.php?t=983274

    Ähnliches Problem. Leider wurde die Lösung nicht gepostet.

  • Die Seite lädt 3x die JQUery-Bibliothek in 3 verschiedenen Versionen. Sie darf aber maximal 1x.

    Code
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    ...
    <script src="/hpv7_dlmntt/media/jui/js/jquery.min.js?ea5d4be36ade53a7e88d8d383e516719"></script>
    ...
    <script src="http://code.jquery irgendwo.com/jquery-latest.pack.js"></script>

    Erstere wohl durch das besagte Modul und "komplett unfachmännisch".

    Zweitere sieht korrekt aus. Kommt von Joomla.

    Dritte kommt wohl vom Menü-Modul und "komplett unfachmännisch".


    Schau mal in den Modulen, ob man JQuery deaktivieren kann oder, vielleicht besser, dass es nicht von CDN geladen werden soll, sondern intern oder so ähnliche Einstellungen.


    Ansonsten kann man aus der Ferne nur das Plugin "JQuery Easy" empfehlen. Ob es auch die 3. Zeile tilgen kann, weiß ich nicht, aber zur Not gibt es ein Feld, wo man händisch zu entfernende Skripte eingeben kann.


    Falls nun das Accordion unbedingt die höhere Jquery-Version 1.8.3 braucht, kann man das auch im Plugin irgendwo forcieren.

  • Hab jetzt loadposition benutzt, weiterhin gleiches Problem.

    Modul ist aktuell und funktioniert reibungslos, wenn es "normal aktiviert" wird.


    Schau mal in den Modulen, ob man JQuery deaktivieren kann oder, vielleicht besser, dass es nicht von CDN geladen werden soll, sondern intern oder so ähnliche Einstellungen.

    Also ich kann in meinem Modul diese Einstellungen auswählen:

    Was genau würdest du da jetzt empfehlen? ?(

    Viele Grüße8)

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von StayStrong mit diesem Beitrag zusammengefügt.

  • Was genau würdest du da jetzt empfehlen?

    "scripts + jquery from joomla noConflicts"


    In der Hoffnung, dass das Modul das joomla-konform macht.


    Dann hast aber wahrscheinlich immer noch ein JQuery zu viel vom Menü-Modul (falls das keine solche Einstellung hat). Und siehst ja selber, dass alleine eine leicht abweichende Ladereihenfolge von diesen JavaScripten eine verheerende Wirkung haben kann. Meint, mit jeder neuen Erweiterung kannst du in ähnliche Fehler laufen.

  • "scripts + jquery from joomla noConflicts"


    In der Hoffnung, dass das Modul das joomla-konform macht.

    Hat leider nicht funktioniert...


    Wieso ist es überhaupt von Joomla her so ein riesen Unterschied ob ich das Modul der Seite zuweise (aktive Position auswählen) oder ob ich es im Beitrag inkludiere? Eigentlich sollte doch immer der gleich Quelltext vom Modul durchlaufen (und entweder immer oder gar nicht funktionieren).

  • Hast halt immer noch

    Code
    <script src="http://code.jquery.com/jquery-latest.pack.js"></script>

    drinnen.


    JQuery ist eine Bibliothek, die hier zwingend als erste, sowie danach nicht noch mal geladen werden darf. Damit in deinem Fall das Menü, das Accordion, Bootstrap-Javascript ... korrekt funktionieren. Diese sind explizit abhängig von JQuery.


    Joomla kennt für das Laden eine einfache PHP-Zeile, die von Erweiterungen genutzt werden muss bevor sie dann mit weiteren Zeilen ihr eigenes JQuery-abhängiges Zeugs laden. Das muss zwingend joomla-konform abgewickelt werden.


    Joomla ist clever genug durch diese erste Zeile, obwohl sie von mehreren Erweiterungen zu unterschiedlichen Zeitpunkten abgefeuert wurde, sich darum zu kümmern, dass JQuery nur 1x und vor allen abhängigen Skripten geladen wird.


    Nun ist es ein Unterschied, ob man ein Modul in einer Modulposition oder in einem Beitrag über den Umweg eines Plugins lädt (durch das {loadmoduleid} wird ein Plugin bemüht), da Joomla eine feste Reihenfolge hat bei der Abarbeitung der zu rendernden Elemente einer Seite. Also Module, Komponenten, Plugins... Das geht u.U. kreuz und quer... Bevor die gerenderten Elemente dann ins Template eingesetzt werden. Je nach Reihenfolge des Renderns kann sich auch die Reihenfolge der Scripte ändern.


    JavaScript-Fehler können genauso wie PHP-Fehler den kompletten nachfolgenden Ablauf blockieren. Fehler hast du auch, wenn das Modul normal geladen wird, aber sie fallen ggf. nicht so auf, weil sie nur eine andere Funktionalität der Seite betreffen.


    Kurz: Wenn du nicht dahinter kommst, wo die zuoberst gezeigte Codezeile herkommt (die noch dazu eine ältere JQuery-Version lädt als Joomla beigepackt hat, also komplett unsinnig ist), ich vermute vom Menü-Modul, installiere dir die Free-Version von "JQuery Easy", Version 2.2.4 glaube ich, geht auch über den "Aus Webkatalog installieren"-Tabulator.


    In der Konfiguration stellst du ein


    - Tabulator JQuery > Klick auf Knopf "jQuery".

    - Unten Jquery > Version > "Joomla Framework".

    - Selbe Einstellung unter "Migrate"

    - Plugin aktivieren.

    - Es entfernt auch diese obige Zeile, habe ich gerade getestet.

  • Ein guter Tipp!

    Da habe ich etwas neues gelernt!

  • [---]

    Danke für die ausführliche und verständliche Erklärung mit dem Tipp. Ich werde das demnächst ausprobieren und mich dann wieder melden. Danke bis hierhin und schönes WE :-)


    - Es entfernt auch diese obige Zeile, habe ich gerade getestet.

    Habs doch jetzt schon gemacht, es funktioniert. HAMMER!

    Darauf wäre ich im Leben nicht gekommen. Vielen Dank!!! :thumbup:beer

    Viele Grüße8)

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von StayStrong mit diesem Beitrag zusammengefügt.

  • Guten Tag,

    ich habe gestern das von Re:Later empfohlene PlugIn aktualisiert. Heute ist mir nun aufgefallen, dass wieder alle WS Accordeons nicht mehr aufklappen. Die Einstellungen bei Jquery Easy sind konstant geblieben, weiß jmd woran es liegen kann?

    Macht es Sinn, JQuery Easy komplett neu zu installieren?

    http://dathe-gymnasium.de/index.php (unten ist ein Beispiel mit den Boxen die nicht aufklappen)


    EDIT: jQueryEasy ist jetzt auf der Version 4.2.1


    Nachtrag: Ich habe jetzt jQuery Easy deinstalliert und die Version 2.2.2 wieder installiert und dieselben Einstellungen konfiguriert (siehe #11). Trotzdem geht es nicht mehr, das Problem ist übrigens "übergreifend". Also nicht nur mein WS Accordeon geht nicht mehr einwandfrei, auch mein Vina Article Accordeon geht nicht mehr so wie es soll; deswegen denke ich es liegt an jQuery.


    Hat noch jmd ein Tipp?


    Die einzigen Veränderungen die ich abgesehen von dem mittlerweile rückgängig gemachtem Update gemacht habe sind, dass ich zwei alte Templates deinstalliert habe, die nie in Benutzung waren (shaper helix und beez oder so). Aber das dürfte ja kein Einfluss haben oder?

    Viele Grüße8)

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von StayStrong mit diesem Beitrag zusammengefügt.

  • .....deswegen denke ich es liegt an jQuery.

    .....

    Die einzigen Veränderungen die ich abgesehen von dem mittlerweile rückgängig gemachtem Update gemacht habe sind, dass ich zwei alte Templates deinstalliert habe, die nie in Benutzung waren (shaper helix und beez oder so). Aber das dürfte ja kein Einfluss haben oder?

    Ja klar liegt es an jQuery. Das muss Schritt für Schritt analysiert werden. Es wurden ja auch bereits etliche Tipps gegeben. Dennoch ist es aus der Entfernung immer schwierig zu beurteilen.

    Achte bei dem vielen Installieren, Deinstallieren, Ausprobieren immer darauf, dass die Caches geleert werden. Joomla-mäßig am besten erst einmal deaktivieren. Selbiges mit ev. vorhandenen Optimierungstools wie JCH oder ähnliches.

    Eventuell könnte dir da auch noch der OPCache (falls auf dem Webserver aktiviert) dazwischenfunken. Das erschwert die Analyse natürlich immer ein wenig.


    Das Deinstallieren der Templates hat da keinen Einfuß. Grundsätzlich sollte man aber niemals Core-Erweiterungen wie z.B. das Beez3 deinstallieren!

  • Es gibt im Modul wohl eine Einstellung zu noconflict. Mal hin und her stellen.


    Wenn nicht klappt:

    Versuche im JQuery Easy bei den Einstellungen mal die Einstellung "NoConflict Code entfernen" auf Nein stellen.


    Und es liegt eher am Modul als an Jquery Easy. Es ist absolut nicht nachzuvollziehen, warum es das an der Stelle macht, was den Fehler verursacht. Schon die Einstellungen zu JQuery im Modul sind eigentlich vollkommen unnötig unter Joomla 3.


    (OffTopic: Das Astroid-Template-Framework mach übrigens gelegentlich auch so Unsinn. Weil ich glaube, dass du das auch ab und zu mal verwendest, JoomlaWunder )

    Wenn man dann noch dran denkt, dass auch das Menü-Modul Murks macht, weshalb jQuery Easy eigentlich die letzte Lösung war... Ist halt schwierig...

  • Es gibt im Modul wohl eine Einstellung zu noconflict. Mal hin und her stellen.


    Wenn nicht klappt:

    Versuche im JQuery Easy bei den Einstellungen mal die Einstellung "NoConflict Code entfernen" auf Nein stellen.

    Beides probiert, hat leider nichts verändert :-(

    Bei manchen Module erlauben es jQuery komplett zu deakivieren. Was Sinn macht, wenn Joomla es eh schon lädt.

    Auch dies hatte leider keinen Erfolg.


    Ich habe mittlerweile es auch wieder mit der neuesten Version von Jquery Easy probiert in allen Varianten ohne Erfolg.

    Ich habe sogar mehrere Module deaktiviert um die Bibliotheken-Kollision zu vermeiden.

    Weiß jmd, ob die Module beim deaktivieren trotzdem geladen werden und nur nicht angezeigt werden? Wenn die Module nicht geladen werden, könnte man ja so stück für stück alles durchtesten, welches Modul welches Modul stört oder?


    EDIT: Ich habe alle Module der Startseite deaktiviert und dennoch fahren die Boxen nicht aus...

  • Weiß jmd, ob die Module beim deaktivieren trotzdem geladen werden und nur nicht angezeigt werden?

    Wenn sie deaktiviert sind, werden sie auch nicht geladen.

    Manchmal kommen Erweiterungen aber beispielswiese mit Modul und Plugin oder ähnlichem.


    Ich würde folgendes machen:

    Aktiviere zunächst das, was du unbedingt auf der Seite haben möchtest. Schalte dann Schritt für Schritt alles weitere hinzu. Wenn es dann irgendwann zu Problemen kommt, die man nicht so einfach lösen kann, würde ich einfach auf das verzichten, was man nicht zwingend benötigt, oder du suchst dir eine Alternative, mit der das funktioniert.

    Ich hatte auch schon Fälle, wo es einfach nicht passte.


    Eventuell mal bei regularlabs.com schauen! Da gibt es auch Slider (ähnlich deinem Akkordeonmenü), die recht einfach zu handhaben sind.

  • Hier ist das Problem eher, dass das Modul einen "Klon" von JQuery erzeugen will und die Art des "Klonens" ist abhängig von weiteren, und für Joomla 3 komplett unsinnigen JQuery-Einstellungen im Modul und, weil Jquery Easy nun die vorbereitende Zeile für das "Klonen" entfernt, gibts nix zu "klonen". Das gesamte Vorgehen des Moduls ist aber unsinnig in diesem Fall. Erinnert auch ein bisschen an Artisteer, das Ähnliches machte und dadurch komplett unflexibel wurde bzgl. jQUery-Problemen.

    Deshalb mein letzter Post...


    Um ehrlich zu sein, hätte ich Menü-Modul und Accordion-Modul schon längst gegen was anderes ausgetauscht.