Beiträge von 0backbone0

    Den oberen JavaScript-Fehler hättest du wahrscheinlich über die Webkonsole/Fehlerkonsole/Inspektor/Entwicklerwerkzeuge deines Browsers rausbekommen können ("not defined").

    Du hast natürlich wieder mal vollkommen recht. Im Quellcode inspector ist der Feher ziemlich offensichtlich.

    Jetzt funktioniert alles wie es soll. Nochmal ein dickes Danke!


    Ich markiere das Thema als erledigt, auch wenn die Hälfte davon technisch gesehen im falschen Unterforum ist. ;)

    Irgendwie bekomme ich keinen Script zum laufen.

    Auch nicht wenn ich die $html fülle.

    Das Auslesen der felder klappt ohne Probleme. Aber der Titeltext wird nie geändert obwohl document.getElementById('.$title_id.').innerHTML="script works"; im Script steht.

    Was mache ich falsch??

    Ich habe es noch etwas einfacher gehalten. Ohne Felder.

    Im Beitrag steht {materialpreview};name=matname;path=matpath

    Dan zerlege ich den String entsprechend und habe alle Werte die ich brauche.

    Hier der Plugin Code:

    Nur an einer Sache hängt es noch. Wo plaziere ich den Script?

    Ich habe schon versucht den Script auch per echo Zeile für Zeile auszugeben, aber ohne Erfolg.

    Also es soll wirklich nur das Modul im Beitrag stehen, ohne weiteren Text.

    Und die Beiträge sollen nie richtig angezeigt werden.

    Grundsätzlich bleibt der SVG Code auch gleich wenn ich die Bildernamen durch Variablen ersetzte also aus:

    Code
     echo '<image id='.$sphereimage_id.' x="25" y="131" width="415" height="370" xlink:href="/images/Sphere0001.png" style.display="none"></image>';
     echo '<image id='.$compleximage_id.' x="25" y="131" width="415" height="370" xlink:href="/images/Complex0001.png" style.display="none"></image>';
     echo '<image id='.$flatimage_id.' x="25" y="131" width="415" height="370" xlink:href="/images/Flat0001.png" style.display="block"></image>';

    wird dann:

    Code
     echo '<image id='.$sphereimage_id.' x="25" y="131" width="415" height="370" xlink:href='.$sphereimagefile.' style.display="none"></image>';
     echo '<image id='.$compleximage_id.' x="25" y="131" width="415" height="370" xlink:href='.$compleximagefile.' style.display="none"></image>';
     echo '<image id='.$flatimage_id.' x="25" y="131" width="415" height="370" xlink:href='.$flatimagefile.' style.display="block"></image>';

    Denke aber nicht das es an der Situation viel ändert...


    Kann man das Pferd nicht anders herum aufsatteln und Loadmodule mit Parametern ausstatten?


    Hab mir vorhin mal das Grundgerüst für ein Plugin angeschaut. Sieht auch nicht wesentlich komplizierter aus als ein Modul.

    Kann man ein Plugin auch in einem Beitrag integrieren, oder muss es dann eine Modul / Plugin Kombination sein?

    Man findet ja viele Beispiele um Felder zu benutzen, aber immer ist ein $this im Spiel.

    Damit komme ich nicht klar. Ich weiß nicht wie ich auf den Artikel zugreifen kann in dem das Modul liegt.

    Habe es in der default.php und in meiner mod_material_view.php versucht.

    Oder muss ich die Feldabfrage wo anders hinschreiben?

    Du hast das Problem bereits gelöst ohne das ich es bemerkt habe.

    Du hast geschrieben: Die echo-Geschichten sowie die <script> in die ansonsten leere default.php auslagern.

    Ich hatte ja das mod_custom kopiert.

    Da steht in der default.php

    PHP
    <div class="custom<?php echo $moduleclass_sfx; ?>" <?php if ($params->get('backgroundimage')) : ?> style="background-image:url(<?php echo $params->get('backgroundimage'); ?>)"<?php endif; ?> >
        <?php 
        echo $module->content;
        ?>
    </div>

    Ohne deinem oben genannten Satz wäre ich nie auf die Idee gekommen das mal auszukommentieren.

    Und siehe da nur ein Modul pro Artikel!

    Jetzt kann ich mich wieder der ursprünglichen Frage witmen.

    Ich versuche erst mal so klar zu kommen, aber die Wahrscheinlichkeit ist hoch das ich später noch mal Hilfe brauche.

    Danke nochmal für die Mühe!

    Vielleicht habe ich es nicht richtig erklärt.

    Wenn ich das Modul in einem einzelnen Beitrag anzeige funktioniert alles. Dann ist es auch egal ob man eine uniqid hat oder nicht.

    Mir geht es aber darum in einer Blogansicht die Module anzuzeigen.

    Also ohne das man erst in den Artikel muss. Pro Modul soll man die Vorschaubilder (die später durch Felder pro Artikel festgelegt werden können) umschalten können.

    Ich habe es nicht explizit erwähnt weil ich nicht wusste das es dabei Probleme geben kann.

    Bin nicht gerade der PHP Experte.

    Der Tipp mit uniqid ist wirklich Gold wert! Tausend Dank!

    Jetzt funktioniert es auch grundsätlich, aber ich habe ein anderes Problem.

    Das Modul wird (egal ob über loadmodule oder modulplant) öfter geladen.

    Beim ersten Artikel nur einmal, beim zweiten zwei mal und so weiter.

    Ich wollte eine Abfrage in den Script machen ob das Modul im Beitrag schon geladen ist, aber das EInzige das ich über Google gefunden habe

    war:

    PHP
     <?php if ($this->countModules( 'user1' )) : ?>
    // tue irgendetwas
    <?php endif; ?> 

    Wenn ich versuche die Abfrage einzubauen bekomme ich aber die Fehlermeldung.#0 Using $this when not in object context

    Leider habe ich keine Ahnung an welche Stelle die Abfrage muss und ob es überhaupt die richtige Funktion ist...


    Meine PHP Datei sieht jetzt so aus:

    Danke für eure Geduld :)

    Jetzt habe ich zumindest herausgefunden wo das Problem liegt.

    Das Modul verwendet in jeder Instanz die Selben ID's. Dadurch funktioniert logischerweise immer nur der zuletzt geladene

    Script.

    Ich denke am besten wäre einen Parameter als Suffix für die ID's festzulegen. Dann muss ich allerdings auch die SVG per PHP generieren.

    Das hat zwar nichts mehr mit der ursprünglichen Frage zu tun, aber ich komme darauf zurück wenn ich eine Lösung für mein

    Script-Problem gefunden habe.

    Bis dahin, vielen Dank an alle Beteiligten. Bis bald...

    Mit Modulplant geht trotzdem der Script nur in dem Modul das als erstes angezeigt wird.

    Also leider nicht wurst.

    Versuche jetzt noch mal per rumtüfteln eine Lösung zu finden. Wenn alles nichts brint kann ich die Seite immer noch hochladen.

    @time4mambo:

    Liegt derzeit lokal auf einem WAMP-Server. Link gibts also keinen.

    Ich habe aber Screenshots gemacht:

    Hier mit Modulplant:


    Und so über den Modul-Button im Editor:



    Re:Later:

    Der Tipp mit den Feldern klingt schon mal gar nicht schlecht.

    Ich habe jetzt mal das mod_custom kopiert und zu mod_material_view gemacht.

    Irgendwie will das aber auch nicht so richtig. Wie im Bild oben wird das Modul immer öfter eingetragen.

    Deswegen geht vermutlich auch Javascript ab dem 2ten Beitrag nicht mehr.


    Die PHP Datei sieht nun so aus:

    Den PHP Teil habe ich, bis auf den Modulnamen, so belassen wie er war. Irgendwelche Ideen wie ich das Modul pro Artikel nur ein mal laden kann??

    Wenn ich den Modulbutton im Editor benutze, und mehrere Artikel mit dem selben Modul habe wird der Modultitle so oft angezeigt wie viele Artikel es mit dem Modul gibt.

    Mit Moduleplant passiert das nicht.

    Allerdings funktioniert Javascript nur im ersten geladenen Modul. Alle anderen Instanzen verweigern ihren Dienst.

    Ich habe seit bei der Versionsnummer noch eine 1 vorne Stand nichts mehr mit Joomla gemacht.

    Bin gerade erst seit ein paar Tagen bei der Version 3.8.8 dabei. Wusste nicht das es mittlerweile so einfach ist ein Modul im Arikel zu haben.


    Mit Custom HTML meine ich mod_custom.

    Hallo,


    für mein derzeitiges Projekt benötige ich ein Modul zur Bildervorschau.


    Dazu habe ich in einem CustomHTML Modul eine SVG erstellt in der drei Buttons und drei Bilder eingebettet sind.

    Per Javascript schalte ich die Sichtbarkeit der Bilder um, je nachdem welcher Button gedrückt wurde.

    Funktioniert soweit auch ganz gut.

    Das Ganze habe ich dann mit Moduleplant (https://extensions.joomla.org/extension/module-plant/) in einem Artikel plaziert.

    Jetzt müsste ich über den Artikel noch einen String für den Namen, und einen String für den Pfad der Bilder an das Modul übergeben.

    Es sollen viele Artikel werden die jeweils die Bilder aus einem anderen Pfad holen.


    Jetzt zu meiner Frage:

    Lässt sich das über die CustomHTML / Modulplant kombination realisieren, oder komme ich um eine eigene Modulentwicklung nicht herum.

    Vielen Dank schon mal im Vorraus.

    Mirko