Beiträge von Shor-ty

    Kurze Frage hierzu noch. Wie bekomm ich gleich den richtigen Pfad zum JS welches sich im Module befindet:



    Code
    JFactory::getDocument()->addScript(__DIR__ . '/js/numericalSchemes.js');  


    __DIR__ resultiert ja im kompletten Pfad, den ich ja nicht benötige. Macht man hier dann immer gleich sowas; quasi ne fixe Angabe des Pfades weil man sowieso weiß, dass sich das Modul immer in diesem Pfad befindet (modules/module-name/).



    Code
    JFactory::getDocument()->addScript('modules/mod_numerical_schemes/js/numericalSchemes.js');  

    Bekomme jetzt dann Bauchweh :)

    Auch nach einem Restore, bekomm ich einen 500- er Fehler.

    Thomas, bitte etwas genauer. Du hast einfach alles via FTP neu hochgeladen (also die ganze Seite + Modulen + allem)?
    Ich habe ja sozusagen nur einen lokalen Server auf dem ich das neue Joomla Teste. FTP brauch ich somit nicht. Jetzt hab ich natürlich erstmal ein ungutes Gefühl, weil das alle nicht mehr funktioniert.

    Wenigstens habe ich alle Daten und die Datenbank noch. Nur wie ich jetzt wieder zu einem brauchbaren System komme, ist mir gerade schleierhaft.


    Nachtrag: Nach genauer Fehleranalyse wurde mir mein SQL Datenbank nicht korrekt eingerichtet. Mein Port war in der configuration.php nicht vorhanden. Geht also jetzt wieder.

    Hallo zusammen,


    ich war gerade so frei und habe meine Beta auf die aktuellste Joomla Beta 4.4 (ist schon die aktuellste oder?) aktualisiert. Glücklicherweise habe ich den Akeeba vorab noch installiert und ein Backup gemacht. Ich komm nämlich jetzt weder ins Backend oder Frontend. Ich bekomme einen 500'er Fehler wie auf dem Screenshot zu sehen ist. Ohne das ich mir das jetzt im Detail angesehen habe, scheint es so, als würde in einer Tabelle den Eintrag «inheritable» nicht geben? Gibts jemand der hier adhoc das Problem kennt?

    Danke im Voraus & gute Nacht.
    Tobi

    Kurze Rückfrage:


    Wenn ich in meiner index.php ganz zu Beginn folgende Zeile habe:


    Code
    Factory::getDocument()->addScript('https://www.paypal.com/sdk/js?client-id=foobar');

    Wird diese im Quelltext angezeigt. Verschiebe ich das jetzt in das Modul, dann wird dieses Skript nicht angehängt. Allerdings werden meine Meta-Parameter vom Modul im <head> übernommen:



    Code
    // Im mod_mein_modul.php
    JFactory::getDocument()->addScript('https://www.paypal.com/sdk/js?client-id=foobar');  // Macht nichts
    JFactory::getDocument()->setMetaData('viewport', 'width=device-width, initial-scale=1');
    JFactory::getDocument()->setMetaData('X-UA-Compatible', 'IE=edge', true);


    Erstes macht gar nix. Das Skript wird nicht hinzugefügt.

    Hallo zusammen,


    also ich weiß nicht wo das »@« Zeichen verscheindet. Im Javascript ist es noch da:



    Und im Modul ist der Aufruf wie folgt:


    Code
        public static function getAjax()                                            
        {                                                                           
            $input = JFactory::getApplication()->input;                             
            $function = $input->get('function');                                    
            $email = $input->get('email');
            return $email;
        }              


    In der Konsole erhatle ich die Email, dann als Alert die Email ohne besagtes @ Zeichen.

    Ich hab meinen Fehler auch gerade gefunden.

    Wenn ich eine Email-Adresse über AJAX an mein Modul schicke, dann verschwindet das '@' Zeichen im String. Hab jetzt im Javascript das ersetzt und dann im PHP code re-ersetzt :P Jetzt gehts.

    Hallo Christiane,

    ja möglicherweise bleib ich euch etwas erhalten. Allerdings bin ich sehr stark im Bereich der numerischen Mathematik und OpenFOAM unterwegs. Hier leiste ich eigentlich täglich Support, daher weiß ich nicht wie ich es zeitlich schaffe bei euch aktiv zu bleiben. Aber bis ich meine Seite komplett fertig habe vergeht ja noch etwas an Zeit :)

    Kurze Rückfrage. Wann werden die Module den aufgerufen? Naja also prinzipiell ist das für mich recht einfach. Ich bau gerade an einer API für mein Buch bezüglich PayPal. Da haben wir ja diese langen ID`s. Prinzipiell kann ich diese direkt in den Code kopieren, wollte aber diesen Schlüssel im Modul eingeben (im Backend) und dann darauf zugreifen. Das <script> das ich lade, wollte ich nicht in den Body stellen, sondern über die JFactory::addScript(); einbauen. Nur hierfür müsste ich im Head Bereich auf das Modul zugreifen, um diesen Parameter auszulesen.


    Hoff das war verständlich :)
    Alternativen habe ich natürlich viele.

    Hallo zusammen,


    gibt es in Joomla eine Möglichkeit ganz schnell zu testen, ob eine Email-Addresse gültig ist oder nicht? Natürlich kann ich mir mit den Regulären-Ausdrücken was bauen aber vielleicht gibts ja was alternatives. Übrigens, dieser Code funktioniert bei mir irgendwie nicht:



    Code
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format";
    }


    Gibts hierzu irgendwelche Gründe?

    Danke schon im voraus, Tobi

    Hallo zusammen,


    ich möchte es diesmal ganz kurz halten :) ... Ich kann in der index.php mittels folgendem Aufruf:



    Code
    echo ModMeinModul::foo();


    Direkt auf eine Funktion eines Moduls zugreifen, vorausgesetzt es ist eine statische Funktion. Allerdings habe ich damit nicht die Möglichkeit auf die Parameter vom Modul zuzugreifen. In meinem Fall ist die Funktion foo() lediglich wie folgt definiert:



    Code
    static public function foo() { return "Jop..."; }



    Was ist jedoch, wenn ich auf ein Modulparameter zurückgreifen möchte.



    Code
    static public function foo()
    {
        $meinParameter = $params->get('wasAuchImmer');
        return $meinParameter;
    }



    Sowas geht ja nicht, da $params nicht definiert ist. Ich habe ja prinzipiell kein Objekt dieser Funktion. Daher weiß ich nicht, ob das überhaupt geht.
    Jeder Input ist willkommen.

    Hallo zusammen,


    ich bin fleißig am Module bauen und frage mich gerade wie ich den »Type« von Modulen ändern kann. Bei mir ist der Type im Backend immer gleich dem Titel den ich in der XML Datei angebe. Wahrscheinlich kann ich in der XML Datei auch einen »Type« spezifizieren, oder? Grund hierfür ist, dass ich ein paar Module erstelle, die mir mittels »canvasJS« einige Plots erstellt und ich möchte diese gerne alle als Type »canvasJS« definieren, um im Backend diese zu sortieren.

    Tobi

    Hallo zusammen,


    ich hab jetzt in der zu »callenden« PHP Datei mal folgendes drin damit ich auf die Joomla Klassen Zugriff habe. Ob das jetzt sicherheitstechnisch gut ist, kann ich nicht beurteilen. Jedenfalls sehr angenehm damit zu arbeiten.



    Hallo zusammen,


    ich möchte das Thema erneut aufgreifen, aber jetzt nicht im Zusammenhang mit dem {Sourcerer} Plugin sondern Allgemein. Gehen wir davon aus, dass wir einen »on("click")« Event Handler mit jQuery in der Seite angewendet haben. Ich mach hierzu mal ein kurzes Beispiel:



    Code
    <div class="selector" data-id="2">Dieses Div Element wird überwacht</div>


    mit folgendem JS Code können wir das jetzt überwachen und auf ein Click-Event warten:





    Soweit ist das ja alles recht einfach gehalten. Jetzt kommt aber das, was mir noch nicht klar erscheint. Wenn wir jetzt eine Abfrage mit AJAX machen möchten, dann rufen wir ja eine PHP Datei auf, in der wir die Sachen abarbeiten und die Daten dann zurück zum JS schicken. Wenn wir allerdings über AJAX die PHP Datei aufrufen, dann können wir ja mit


    Code
    defined('_JEXEC') or die;


    nicht aufwarten, da hier '_JEXEC' nicht definiert ist. Daher meine Frage, wie man das Allgemein umsetzt? Lässt man die Prüfung ob '_JEXEC' definiert wurde einfach weg? Dann funktioniert alles aber man hat halt ein Sicherheits-Problem soweit ich das beurteilen kann. In meinem Fall wahrscheinlich nicht der Rede Wert, aber trotzdem interessiert mich das gerade schon etwas.


    Kann ich den über AJAX auch irgendwelche Teil-Modul-PHP Files erreichen oder wie kann ich das sicher umsetzen? Als Anregung mal das obere Javascript etwas erweitert:




    Die derzeit ge-called'te PHP Datei sieht wie folgt aus:



    PHP
    <?php
    echo "Yep";
    
    defined('_JEXEC') or die();
    
    echo "Success";


    Und natürlich wird hier nur das "Yep" zurückgegeben, denn bis zum »Success« komm ich ja nicht.


    Das Problem hier ist auch, dass ich wahrscheinlich gar nicht auf die Joomla-Sachen zurückgreifen kann wie bspw. JFactory:: etc.

    Vorab mein 6-Zeiler als Lösung, bin aber gerne für Anregungen offen. Ist in der Klasse vom Modul drin: