CSS / JS einbinden

  • Hallo,


    vor kurzem habe ich mich hier registriert, um die Lösung zu finden bzw. auf der Suche nach Stylesheet / Javascript zu sein.

    Es geht um eine Einbindung der CSS-Datei bzw. JS-Datei. Unter Template Protostar habe ich zwei Dateien (CSS/JS) eingefügt.


    Ich wollte zwei Zeilen in der index.php hinzufügen, was aber nicht funktioniert. Wie es gekommen ist, weiß ich es nicht.


    Aus der index.php:

    Code
    JHtml::_('stylesheet', 'template.css', array('version' => 'auto', 'relative' => true)); 
    JHtml::_('stylesheet', 'accordion.css', array('version' => 'auto', 'relative' => true)); 

    und


    Code
    JHtml::_('script', 'template.js', array('version' => 'auto', 'relative' => true));   
    JHtml::_('script', 'accordion.js', array('version' => 'auto', 'relative' => true));   

    Kann es sein, dass es an array liegt?


    Übrigens, Joomla 3.8.13.


    Für euer Tip danke ich euch schon mal im Vorfeld. :)


    Viele Grüße aus Welver,

    piep71

  • accordion.css befindet sich in dem Ordner /templates/protostar/css und accordion.js -> /templates/protostar/js.

    Das ist schon richtig und es reichen die Angaben aus Post #1. Vielleicht mal Browser- und Joomla-Cache löschen.


    ------------------

    JHtml::_('script', 'protostar/accordion.js', array('version' => 'auto', 'relative' => true));


    Das würde des relative wegens dazu führen, dass Joomla

    1. nach /templates/protostar/js/protostar/accordion.js sucht, dann

    2. nach /media/protostar/js/accordion.js


    aber nicht nach /templates/protostar/js/accordion.js

  • Ah ok, hatte das von meinen Verweisen abgeleitet, weil ich da das Modul mit angab. Danke für die Aufklärung.

  • Ich glaube, dieser Link ist nicht korrekt. Das soll /media/media/js/accordion.js sein. Ist das richtig? Bei mir gibt kein Ordner protostar unter dem Ordner media. Was nun?

  • Code
    JHtml::_('script', '/media/media/js/accordion.js', array('version' => 'auto', 'relative' => true));
    
    JHtml::_('stylesheet', 'accordion.css', array('version' => 'auto', 'relative' => true));


    Die Pfadangaben passen!


    Und das funktioniert! Danke! :)

  • Wir bewegen uns ein bisschen im Kreis.


    wie ich in Post #5 ja schon geschrieben habe, ist Dein Post #1 und #3 in Kombination komplett richtig, wenn du das relative=>'true' nutzt, und die Dateien tatsächlich dort liegen wie du in Post #3 schreibst und keine Tippfehler im Dateinamen haben.

    Wenn das alles OK ist, bleibt eigentlich nur noch der Joomla-Cache oder Browser-Cache, wenn eine der Dateien nicht geladen wird.


    Dieser Ordner-Pfad aus Post #8 klingt halt komplett schräg und ich weiß nicht, wo denn nun eigentlich deine accordion.js liegt

    /media/media/js/accordion.js

    weil du schreibst:

    accordion.css befindet sich in dem Ordner /templates/protostar/css und accordion.js -> /templates/protostar/js


    Ich habe das mal ausprobiert, weil ich dachte, dass du evtl. einem "komischen Verhalten von Joomla" auf die Spur gekommen bist. Bei mir wird die /templates/protostar/js/accordion.js aber NICHT geladen mit Zeile

    Code
    JHtml::_('script', '/media/media/js/accordion.js', array('version' => 'auto', 'relative' => true));