Beiträge von Shor-ty

    Hallo zusammen,


    wiedermal eine Frage an die Experten von euch. Ich möchte ein Modul in verschiedene Artikel einbinden. Im Modul selber benötige ich den Alias vom Artikel (nicht vom Menü). Wie kann ich das erreichen? Allgemein kann ich ja auf die »Top-Level« Daten über



    Code
    $data = JFactory::getApplication()->getMenu()->getActive()->xyz


    aAuf diverse Daten Zugreifen (https://joomla.stackexchange.com/a/5199). Auf die »protected« Daten kann ich so ja nicht zugreifen. Wenns ähnlich wie in c++ ist, dann kann ich über die helper.php und der darin eigenen Klasse über eine »private« Funktion darauf Zugreifen. Allerdings müsste das doch auch einfacher gehen oder? Über den nachfolgenden Weg geht es ja nicht, da ich ja nicht im »Artikel« per se bin:



    Code
    $this->item->alias


    Und das $this Object sich prinzipiell ja auf das Modul beziehen müsste; sofern es hier überhaupt ein Objekt gibt, auf das ich mich beziehen könnte. Alternativ kann ich mit dem ersten Befehlssatz mir den »link« holen, und dann die Artikel-id extrahieren, um abschließend damit den Alias über die Datenbank zu erhalten :). Ich bin mir aber sicher das es hierzu schon irgendeine Hilfsfunktion gibt.

    Bin für Anregungen offen.


    Tobi

    Danke Christiane,


    stimm dir da zu. Ich belass das vorab mal bei meinem Zeug und wenn ich mit der Seite fertig bin, dann schreib ich den Teil auf SQL um. Ist ja bei mir nicht die große Arbeit. Wollte eben nur nochmals euren Input hören.

    Tobi

    LIebe Community,


    ich möchte mich bei Euch allen bedanken, die mir in den letzten Wochen meine Fragen beantwortet haben. Ich habe inzwischen einiges in Punkto:

    • CSS im Allgemeinen
    • CSS Grid
    • CSS Responsive Design
    • Joomla Module Entwicklung (bin ich sehr fleißig dabei)
    • Joomla Modifikationen im Allgemeinen
    • Javascript / Vanilla / jQuery / AJAX


    gelernt. Meine neue Website ist viel dynamischer und leichter für mich zu warten (bin natürlich noch nicht fertig aber das was ich bislang mit den Modulen umsetzen konnte ist schon wesentlich schöner als mit meinen eigenen PHP Skripten und dem {sourcerer}.

    Mein Großes Dank geht vor allem an firstlady, astrid, Re:Later, JoomlaWunder, und Indigo66.
    Auch wenn es im Nachhinein gar nicht so viele Fragen waren, weitergeholfen habt Ihr mir aufjedenfall mit Eurem Input.

    Da ich selbst sehr aktiv in einer OpenSource Communtiy unterwegs bin, weiß ich das es nicht selbstverständlich ist Hilfe anzubieten und ab und zu ein Dankeschön tut gut.
    Ich werde sicherlich noch die ein oder andere Frage haben und freu mich dann schon auf Euren Input.


    Grüße Tobi

    Hallo zusammen, dank eurer Hilfe wächst meine Seite mit eigenen Modulen und diesbezüglich kann ich meine Darstellungen auf der Seite so optimieren, dass vieles jetzt noch dynamischer wird. Daher eine Frage an euch.


    Ich habe ca. 40 einige Training Szenarien für die Community zum Download. Die Szenarien Anzahl ändert sich (ich ergänze neue und lösche alte).


    Die Frontend Seite lass ich jetzt über ein Modul automatisch generieren. Hierzu durchsuchen ich quasi einen bestimmten Pfad mit scandir. Jeder Ordner in diesem Pfad entspricht einem Training Case. In diesem Ordner ist eine Info Datei, das zu ZipFile fir den Download und ein Thumbnail.


    Über php öffne ich die Info Datei und lese drei Zeilen heraus (Zeile 1: Überschrift, Zeile 2: Zusatztext und Zeile 3: Imagename).


    Damit kann ich die Frontendseite dann einfach erstellen und alles passt. Die Frage die sich stellt ist, ob ich das nicht besser über eine SQL Abfrage besser machen kann. Ist bestimmt schneller und optimaler als mit dem Lesen von Files. Allerdings sind meine Zugriffazahlen bei ca. 60 bis 160 Besuchern pro Tag. Also ist der traffic eigentlich null und daher denke ich, dass es in diesem Falle okay wäre es mit bei den Files mit scandir und dem entsprechenden öffnen zu belassen als es über eine SQL zu realisieren.


    Oder was meint ihr dazu?

    Danke Dir, das kann ich gleich verbauen.


    Hier noch eine kurze Frage. Was hat dieses »nonce« mit diesem ewigen Hash zu bedeuten?


    Hier noch eine kurze Frage. Was hat dieses »nonce« mit diesem ewigen Hash zu bedeuten?


    Desweiteren habe ich noch eine Frage. Wenn ich im <HEAD> mein Javascript einbinde, dass aber dann Daten von dem eingebauten Modul benötigt, ist es dann überhaupt möglich das durchzuführen. Bislang war es so, dass ich zuerst den PHP code hatte und in der gleichen Datei dann das Javascript nachgestellt hatte. Somit konnte ich auf die PHP Variablen zugreifen. In etwa so:



    Wie man deutlich erkennt, kann ich hier im Javascript auf die $dataPoints zurückgreifen. Ich habe aber das Gefühl, dass wenn ich das Javascript im <HEAD> einfüge, dass ich keine Möglichkeit habe auf das Array von meinem PHP Code zurückzugreifen. Wäre noch die Option die Du erwähnt hast, mit »am Ende vom <BODY> zu schicken. Allerdings scheint es mir auch so zu sein, dass ich die Implementierung über »<php echo json_encode($dataPoints); ?>« so nicht mehr verwenden kann.



    Tobi


    Gut - monolog - ...


    Mir fehlen wohl einfach ein paar Grundlagen. Das ich php in meinem javascript verwenden konnte lag daran, dass es eine PHP Datei war, in der ich ein Javascript dabei hatte. Somit funktionierte das also. Jetzt ist es nur noch eine reine Javascript Sache und da geht es dann nicht mehr. Entweder ich finde hier noch eine Lösung (irgendein Workaround) oder ich binde das Script einfach in die PHP (tmpl/default.php) vom Modul ein.


    Ich beantworte jetzt meine Frage selber :) Verzeiht mir diesen Monolog hier aber ggf. bringt es ja irgendwann mal jemandem was.

    Ich habe jetzt in meinem Modul noch folgendes angefügt:



    Code
    echo "<script type=\"text/javascript\">\n";                                                              
    echo "var dataVisits = " . json_encode($dataVisits) . ";\n";                                             
    echo "var dataInteractions = " . json_encode($dataInteractions) . ";\n";                                 
    echo "</script>\n"; 


    Damit habe ich die zwei Javascript Variablen, die ich dann in meinem Javascript einbinde. Das Javascript habe ich am <BODY> Ende eingebaut.

    Hallo zusammen, ich habe wieder mal eine Frage an euch und zwar geht es diesmal um eigene Javascripte. Auf meiner Seite habe ich einige Grafiken, die ich mit canvasjs realisiere. Meine Frage an euch ist nun ob es Sinn macht diese Skripte nur auf den entsprechenden Artikel-Seiten einzubinden oder spricht nichts dagegen diese Javascripts immer zu laden (quasi im <head> Bereich?).


    Ich realisiere die Datenaufbereitung gerade mit eigenen Modulen; sprich der PHP Code der mir die x- und y-Arrays erstellt und mit der Datenbank kommuniziert, ist in einem Modul. Hier wäre es doch dann sogar sinnvoll, dass Javascript mit in das Modul mit rein zu packen oder? Damit würde ich sicher gehen, dass das Javascript nur dann geladen wird, wenn auch das Modul angezeigt wird.

    Wäre das sinnvoll? Falls ja, in welche Datei wäre das Skript den am Besten aufgehoben? Derzeit hat mein Modul die Standard Files:


    Code
    ├── mod_canvasVisitorInteraction
    │   ├── helper.php
    │   ├── index.html
    │   ├── mod_canvasVisitorInteraction.php
    │   ├── mod_canvasVisitorInteraction.xml
    │   └── tmpl
    │       ├── default.php
    │       └── index.html


    Im »default.php« ist folgendes enthalten:



    PHP
    <?php                                                                           
                                                                                    
    defined('_JEXEC') or die;                                                       
                                                                                    
    echo '<div id="visitorInteractionGraph"></div>';                                
                                                                                    
    ?>  


    In diesem <div> Container setzt das Javascript dann seine Infos rein:




    Auf meiner aktuellen Seite ist der PHP Code und der Javascript Code in einer PHP Datei. Da ich das jetzt aber über ein Modul realisieren möchte, weiß ich nicht wo das Javascript hin soll. Wahrscheilnich ist die Einbindung in allen Seiten sinnfrei, weil das Javascript auch $php Variablen benötigt, die ich in meinem eigenen Modul aufbereite. Aus der Luft gegriffen, würde ich fast sagen, dass Javascript müsste in die default.php rein.


    Ich hoffe das meine Erläuterungen einigermaßen verständlich sind.

    Tobi

    Hallo zusammen,


    aufgrund der Diskussionen bezüglich Plugin und Module habe ich kurzerhand mal versucht ein einfaches Modul zu erstellen, um mit der Methodik etwas vertrauter zu werden. Bin dieser Anleitung gefolgt https://docs.joomla.org/J3.x:C…eloping_a_Basic_Module/de und konnte das Modul auch installieren. Leider wird nach der Aktivierung des Moduls und der entsprechenden Zuweisung nichts im Frontend angezeigt. Was mich auch noch interessieren würde ist, wieso die php Dateien nicht mit einem ?> enden?

    Muss ich bei der Beta 4.x etwas anders machen?

    Danke schon im Voraus.

    Tobi

    Okay ich habe hier zwei Themen die ich behandeln möchte:


    1. Meinen Visitor Counter einbetten (ohne Sourcerer)
    2. Meine Download Link-Generierung

    Der Visitor Counter ist in einem Costum-Module platziert. In diesem Modul lade ich mit {sourcerer} meine PHP die mir die ganze Sache bezüglich Visitor etc. analysiert und mit der Datenbank kommuniziert.

    Beim Download-Link Generator, ist in jedem Artikel ein {sourcerer} Teil enthalten, dass zwei Parameter übernimmt und dann die entsprechende PHP Datei läd.

    In beiden Fällen möchte ich von dem {sourcerer} Plugin absehen und das anders lösen. Beim Visitor Counter wäre meine Lösung wohl ein neues Modul zu erstellen, dass ich dann an entsprechender Stelle einbauen kann. Beim der Download Link-Generierung bin ich mir noch nicht ganz sicher wie ich das umsetzen sollte. Allerdings schätze ich, dass ich über ein Modul hier auch guter Dinge bin.

    Aber bevor ich mich festlege, lese ich Deinen verlinkten Beitrag. Vielleicht hilft mir der ja schon weiter :) (<< hab ich schon gelesen und verwende das schon). Danke trotzdem für die Info.

    Tobi


    Nur kurz als Nachtrag. Ist es möglich in einem eingebunden Modul die Info abzurufen, welcher Artikel das Modul aufgerufen hat? Bspw. welche ID oder wie der Name des Artikels heißt?

    Tobi

    Hallo Astrid,


    dann wäre - wie Du sagst - das Plugin die Wahl. Mir ist jedoch gerade noch folgendes Schleierhaft. Wenn ich das Plugin erstelle, ist es dann im Frontend die ganze Zeit aktiv oder wie kann ich mir das vorstellen? Bei einem Modul ist mir das klar. Ich kann hier ja definieren, wo das Modul plaziert wird und auf welchen Seiten das aktiv ist; auch kann ich mit {loadmoduleid xyz} das Modul direkt in einen Artikel laden. So habe ich das derzeit auf meiner aktuellen Seite gelöst. Allerdings eben über das {sourcerer} Plugin, dass ich eigentlich nicht mehr verwenden möchte.

    Tobi

    Hallo zusammen,


    kurze Frage. Ist es möglich ein Kontaktformula in ein Artikel einzubinden. Wir haben mit dem reinen Joomla ja die Möglichkeit über ein Menü » Contact » Single Contact, das Formular einzubinden. Allerdings würde ich das gerne in einem Artikel mit einbinden. Das sollte doch irgendwie möglich sein, oder?


    Meine Idee war, ein neues Modul zu erstellen, dass ich im Artikel dann lade. Das Modul muss wahrscheinlich ein »Costum« Modul sein, allerdings müsste ich noch herausfinden, wie ich da das Kontaktformular von Joomla einbinde. Ich möchte hier auf Erweiterungen verzichten. Alternative kann ich das natürlich auch selber skripten, aber das ist es mir wahrscheinlich nicht Wert :)

    Verstehe. Wollte das nur hier mitteilen. Deine Lösung finde ich persönlich attraktiver als bei 160 einfach zu kappen. Ganz nach deinem Motto: Wer mehr schreiben möchte, schreibt halt mehr. Natürlich haben die 160 Char's Ihren Ursprung zwecks SEO aber wie Du auch schon erwähnt hast, kann sich das ja auch irgendwann mal ändern. Auch bei den Keywords geb ich Dir recht. Gut, dann hat sich das hier erledigt. Wollte es nur mal mitteilen, aber Ihr wisst da ja mehr als ich :)

    Danke für deine Antwort.
    Tobi

    Hallo zusammen,


    mir ist gerade aufgefallen, dass die Meta-Description bei einem Artikel auf 160 Char's limitiert ist. Allerdings können wir ja bei einem Menü-Punkt auch eine Meta-Beschreibung einfügen. Hier ist die Zeichenkettenlänge allerding nicht begrenzt. Ob das gewollt ist weiß ich nicht aber der Konsistenz halber, sollten meines Erachtens beide Meta-Beschreibungen gleich behandelt werden. Entweder limitiert oder eben nicht.

    Ob das hier Sinn macht, mögen andere entscheiden, ich mach hier nur aufmerksam. Gegebenenfalls ist dies gewünscht. Dafür bin ich aber zu wenig Web-Entwickler.

    Tobi


    PS: Die Meta-Keywords werden von einem Artikel gar nicht angezeigt.

    Hallo zusammen,


    ich bin nicht so fit mit den ganzen Java-Skript Frameworks aber ich nehme mal an das Vanilla JS auch ein Framework für Javaskript ist oder?
    Wie wäre den der obere Code mit Vanilla JS wenn ich nicht auf jQuery gehen möchte? Wie setzt man AJAX Sachen dann mit Vanilla JS um oder fehlt das nur bei der Slim-Version von JQuery?

    Ihr seht schon, ich bin da nicht wirklich belesen. Über c++ könnt Ihr mich fragen :)

    Hallo Christian,


    danke für Deine Anmerkungen. Es handelte sich hier nur um eine Veranschaulichung ob ich das mit demSelektor auch richtig verstanden habe. Ist so also nicht bei mir umgesetzt bezüglich. Die Punkte hab ich also nicht und auch die Reihenfolge ist bei mir richtig.

    Nichtsdestotrotz danke für die Rückmeldung; bestätigt, dass ich es verstanden habe.

    Tobi

    Hallo,


    danke für die Rückmeldung. Das macht natürlich Sinn, Elemente nicht zu entfremden. Das ist meine derzeitige Seite mit PB und sonstigem (https://bit.ly/2WGxA28). Wie Du siehst sind die <div> Elemente auch »anklickbar«. Ich baue die Seite gerade selber auf meinem NAS und Joomla 4 nach und komm eigentlich ganz gut damit zurecht. Ich werde mir das mit deinem Block etwas genauer anschauen, weiß aber nicht ob das möglich ist.

    Das Bild unten zeigt meine derzeitige Website in Joomla 4. Das ich ggf. nicht alles sauber mache sei mir verziehen, aber ich bemühe mich die Dinge gut umzusetzen.


    Hallo zusammen,


    ich hätte eine kurze Frage an euch und zwar geht es darum, diverse Events in meine Webseite mittels jQuery einzubauen. Beispielsweise möchte ich prüfen, ob auf ein <div> Element einer bestimmten Klasse geklickt wurde und wenn ja, dann hole die Data-Attribute und mach damit etwas. Derzeit verwende ich folgenden Code (RE: jQuery in Joomla 4 einbinden



    Folgende Fragen:


    • Ich habe über Event-Listener schon gelesen, wäre das hier ggf. angebracht das zu verwenden? Die Implementierung wie oben funktioniert (zumindest) bei mir
    • Ist window.open(link) eine gute Wahl? Oder gibt es hierbei noch wesentlich bessere Optionen?
    • Wäre es auch möglich, anstelle ein File zu öffnen, auch eine Art »internen Link« zu öffnen, quasi analog zu einem <a> Element


    Letzter Punkt wäre dann wie folgt von mir gedacht:


    Code
    <div class="divSelector" style="height:100px; width="400px" data-link="impressum">
      <a href="impressum">Impressum</a>
    </div>


    Entsprechend kann man auf den <a> Link klicken aber zusätzlich würde ein Klick auf den div Container auch zu einer Weiterleitung führen. Ich finde es persönlich ansprechender, wenn größere Elemente »klickbar« sind, als nur einzelne <a> Elemente. Die Frage hier wäre, ob das mit window.open() auch klappt oder ob man hier eher dann auf window.locationhref=link-attribut geht.

    Möglicherweise ist das auch alles sehr veraltet und macht nur Probleme.


    Tobi