Problem mit Templatepfad in Funktion

  • Hi,


    ich hab mir eine kleine Funktion geschrieben um für Schlagworte mir ein SVG ausgeben zu können.
    Nun habe ich aber das problem das ich in der Funktion den Templatepfad benötige. Frage ich dort aber JFactory::getApplication() ab wird das ja überall wo die funktion aufgerufen wird gemacht und das hat keine schönen Folgen im Template.
    Wie bekomme ich den nun hier in der Funktion den Templatepfad dynamisch rein?


    Code
    function tagIcon($tagId){
        $app       = JFactory::getApplication();
        $tempPath  = JURI::base().'/templates/'.$app->getTemplate().'/';
        
        $tagIconPath =  file_get_contents( $tempPath . '/images/icons/' . $tagId .'.svg');
    
        echo $tagIconPath;
    }
  • Nicht JURI::base(), wenn du PHP-Funktionen wie file_get_contents, is_file etc. verwendest, sondern die Konstante

    Code
    JPATH_SITE

    Das ist dann der absolkute Server-Pfad in das Joomla-Stammverzeichnis.

    Es gibt auch viele weitere Konstanten, aber JPATH_SITE ist die sicherste sozusagen.

    Code
    JPATH_THEMES

    z.B. führt direkt in das /templates/-Verzeichnis, aber abhängig davon, ob man den Code im Frontend oder Backend ausführt eben in dieses oder jenes.

    Wenn du natürlich im Template-Code arbeitest, ist die auch sicher.

    Code
    JPATH_THEMES . '/' . $app->getTemplate() . '/ und so weiter'