it-swarm.com.de

Wie füge ich eine benutzerdefinierte JS / CSS-Datei hinzu, ohne die Vorlage (von der Erweiterung) zu ändern?

Ich schreibe eine benutzerdefinierte Erweiterung und wollte dem Admin-Dashboard (auf jeder Seite) bestimmte JS- und CSS-Dateien sowie verschiedene JS/CSS-Dateien im Front-End hinzufügen.

Ich habe viele Antworten gesehen, aber alle sprechen von index.php-Modifikationen. Gibt es nicht eine einfachere Methode wie worpdress, so etwas wie diesen Phseudocode:

function AddMyScript(){
    echo '<link rel="stylesheet"..................
    //or $this->AddScript('myCss', 1.01, url......)
}
add_action('wp_head', 'AddMyScript');

fügen Sie außerdem zwei Wörter hinzu, wie Sie dies implementieren und aufrufen können default.php

2
T.Todua

Hier ist die Dokumentation: https://docs.joomla.org/J3.x:Adding_JavaScript_and_CSS_to_the_page

Wenn Sie der Vorder- und Rückseite der Site verschiedene CSS- und JSS-Dateien hinzufügen möchten, sollten Sie ein System-Plugin verwenden und testen, für welchen Client dies der Fall ist:

class plgSystemRandomname extends JPlugin
{

   function onBeforeCompileHead()
   {
       $doc = JFactory::getDocument();
       $app = JFactory::getApplication();

       if ($app->isClient('site')){

         // add all yr scripts and stylesheets from the frontend, eg.
         $doc->addScript('/path/to/script.js');

       } elseif ($app->isClient('administrator')) {

         // add all yr js and css for the backend, eg.
         $doc->addScript('/path/to/different_script.js');

      }
   }

}

Hier ist die Dokumentation zum Erstellen eines Plugins: https://docs.joomla.org/J3.x:Creating_a_Plugin_for_Joomla

Beachten Sie, dass isClient in J3.7 eingeführt wurde.

5
jamesgarrett