Eigene Felder MEDIEN - > URL Generierung bei Aufruf über eigenes Layout

  • Hi zusammen,


    hänge an einem speziellen Problem.


    Ich habe eigene Felder "Typ: Medien" erstellt.


    Wenn ich diese Felder in einem eigenen Beitrags-Layout wie folgt aufrufe:


    PHP
    <?php echo $this->item->jcfields[12]->rawvalue; ?>

    wird das Bild auch korrekt aufgerufen und auf der Website angezeigt.


    Allerdings NUR solange ich mich in einem Beitrag in erster Ebene des Menüs befinde.


    Wenn ich den gleichen Aufruf (bei aktivierter "Suchmaschinenfreundliche URL" (mit und ohne URL-Rewrite) ) in zweiter Ebene habe, dann wird das Bild innerhalb eines nicht existierenden Verzeichnisses gesucht.


    Beispiel:

    URL: http://meinedomain.de/meinbeitrag

    Das Bild wird korrekt gesucht und gefunden in (http://meinedomain.de/images/meinbild.jpg)


    URL: http://meinedomain.de/meinekategorie/meinbeitrag

    Das bild wird nicht gefunden da es gesucht wird in (http://meinedomain.de/meinekategorie/images/meinbild.jpg)



    Hat da jemand einen Tipp? eine Idee?


    Ok - habe mir wie folgt geholfen...

    Klappt so nun :)


    PHP
    <?php echo $this->baseurl . '/' .  $this->item->jcfields[11]->rawvalue; ?>

    Erledigt.


    Es sei denn jemand schreit - "so darf man das nicht machen" aus irgendwelchen Gründen oder es gibt viel charmantere Lösungen...?

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: 2 Beiträge von ThiloS mit diesem Beitrag zusammengefügt.

  • Das passt, relativ würde es auch gehen, $this->baseurl . dann weglassen, solange Joomla im Rootfolder liegt und nicht unter meinedomain.de/joomla/ installiert wurde.


    Felder würde ich aber zuerst mit den Feldnamen in ein assoziatives Array überführen, sonst bastelt man umständlich herrum, wenn man was an den Feldern ergänzt oder ändert.

    PHP
    $jcfields = array();
    foreach($this->item->jcfields as $jcfield)
    {
        $jcFields[$jcfield->name] = $jcfield;
    }
    
    echo $jcfields['ansprechpartner'];