UIkit in Joomla einbinden

  • Moin Moin zusammen,
    ich versuche, mich in die Template Erstellung einzuarbeiten. Dazu möchte ich gerne das Uikit Framework in mein Template integrieren.
    Bei meinen ersten versuchen habe ich css Dateien folgendermaßen eingebunden:

    PHP
    <?php JFactory::getDocument()->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/dpcustom.css'); ?>


    In der Uikit Docs steht es aber nur so beschrieben:

    Code
    <link rel="stylesheet" href="css/uikit.min.css" />
            <script src="js/jquery.js"></script>
            <script src="js/uikit.min.js"></script>
            <script src="js/uikit-icons.min.js"></script>


    Das in den head Bereich und fertig. macht ihr das auch so? Und könnte ich nicht den PHP Code von meinem ersten Beispiel nehmen und das auf die Uikit css Dateien abändern? Dann ist natürlich die Frage, wie ich das bei den js Dateien mache.
    Vielleicht kann mir da jemand auf die Sprünge helfen,


    vielen Dank,
    deltapapa

    WBR from DE-de

    "Hier könnte Ihre Werbung stehen"

  • Du legst im Ordner des aktiven Templates ins Unter-Verzeichnis /css/ die uikit.min.css
    Ins Unter-Verzeichnis /js/ des Templates legst uikit.min.js und uikit-icons.min.js. Aber nicht die jquery.js.
    In die index.php dieser Block:

    Code
    JHtml::_('stylesheet', 'uikit.min.css', array(), true);
    
    
    JHtml::_('jquery.framework');
    JHtml::_('script', 'uikit.min.js', array(), true);
    JHtml::_('script', 'uikit-icons.min.js', array(), true);


    (Dein Code ist natürlich auch nicht falsch (addStyle Sheet etc.). Die JHtml-Methoden sind aber "schicker" und ab Joomla 3.7 dann auch "Usus" im ProtostarTemplate usw..)

  • Hallo deltapapa,


    sorry, wenn ich da kurz mit Re:Later plauschen möchte :) Von "Uikit" keine Ahnung.



    Die JHtml-Methoden sind aber "schicker" und ab Joomla 3.7 dann auch "Usus" im ProtostarTemplate usw..)


    öhm. Aha. Hab ja eine Kopie des Protostars. Muss/sollte ich da vom Core was hinüber verpflanzen? Eventuell auf meiner Testseite (RC3) kurz auf Standard gucken, ob da Unterschiede?


    Liebe Grüße, Christine

    • Hilfreich

    @christine2
    Auch dein "alter" Code funktioniert weiterhin. Kannst lassen wie es ist, außer du hast Spaß dran... In Wirklichkeit ist er codetechnisch sogar der direktere Weg. Ab Joomla 4 wird man dann etwas genauer durchsehen müssen, was zu ändern ist und ob.


    Den "neuen" (mit JHtml) gab es schon immer, wurde in 3.7 noch mal leicht überarbeitet und hat jetzt halt "sichtbar" Einzug in die Core-Templates gefunden. (Ich verwende den "schon immer", weil noch mehr damit geht, als nur Dateien im Templateordner automatisch finden (wegen dem "true")).


    Ab 3.7 gilt die obige Notierung von mir als veraltet/deprecated (auch erst mal nicht sooo schlimm) und ist dann so "perfekt" im Hinblick auf Joomla 4:


    Code
    JHtml::_('stylesheet', 'uikit.min.css', array('relative' => true));
    JHtml::_('jquery.framework');
    JHtml::_('script', 'uikit.min.js', array('relative' => true));
    JHtml::_('script', 'uikit-icons.min.js', array('relative' => true));


    Die Übergabe der Parameter wie z.B. 'relative' (neben anderen möglichen) wurde vereinfacht, wenigstens intuitiver lesbar und die Reihenfolge dieser Parameter ist endlich wurst. Funktioniert so unter 3.6 aber noch nicht.


    Diese "neue" Notierung macht ab 3.7 dann auch einige andere alten Methoden/Funktionen unnötig wie z.B. function addStyleSheetVersion(...), die im aktuellen Protostar noch aufgerufen wird, aber in Joomla 4 rausfliegen wird.


    Kurz: Keine Eile, aber wenigstens Programmierer tun gut daran, "es schon mal zu wissen".

  • Hallo Re:Later,


    habe mir die (neuen) zukünftigen "Notierungen" mal notiert :) Das mit den: "addStyleSheetVersion" .... erinnere ich mich dunkel (au weh), musste ich auch mal reingeben. Wenn es dann ernst wird (Joomla 4) rühre ich mich sicher (wieder) - davor natürlich auch :)


    Danke für Deine Informationen/Erklärungen & liebe Grüße - & frohe Ostern,
    Christine

  • Hm, da stimmt was nicht bzgl. Rückwärtskompatibilität im Code von Post UIkit in Joomla einbinden


    Die Zeile für JavaScript funktioniert zwar unter Joomla 3.6.5, aber gibt seinen Geist auf unter Joomla 3.7 beta 4, also funktioniert überhaupt nicht mehr. Das scheint mir ein Joomla-3.7-Bug. EDIT: NEIN! Mein Fehler!


    Kurz: Man kann/muss/sollte das für unser Problem so formulieren, damit es in beiden Joomla-Versionen funktioniert:


    (false statt array())


    Code
    JHtml::_('stylesheet', 'uikit.min.css', array(), true);
    
    
    JHtml::_('jquery.framework');
    JHtml::_('script', 'uikit.min.js', false, true);
    JHtml::_('script', 'uikit-icons.min.js', false, true);


    So kann aus einer einfachen Lösung ein verwirrend langer Thread werden ;)