Bilder können in Yellow CMS nicht geladen werden
Beim Templating für das CMS Yellow werden schnell Bildsourcen mit den absoluten Pfaden in das Template eingebaut, das ist soweit auch ok, doch ändert sich die URL dann, wenn das Admin-Backend genutzt wird und es erweitert sich um die edit-Komponente. Folglich stimmt das der exakte Pfad des Templates nicht mehr und das Laden eines Bildes endet mit einem Fehler.
Pfad um Base-URL erweitern
Grundsätzlich muss in Yellow die Methode zur Ermittlung der Basis-URL als Prefix genutzt werden, da in ihr auch die Admin-URL berücksichtigt wird und somit immer eine korrekte URL zu den Bildsourcen garantiert.
<?php $this->yellow->page->getBase(true)."/media/images/".$this->yellow->page->get('logo'); ?>
Korrekte Schreibweise mit Base-URL
Das Codesegment erzeugt mit getBase() ohne Adminanmeldung den korrekten Pfad zur Bild-Source beispielsweise so:
http://domain.de/media/images/bild.png
Korrektes laden der Bild-Source ohne Anmeldung
Im Falle einer Admin-Anmeldung erweitert getBase() den vollständigen URL-Pfad zur Source dann korrekt wie folgt:
http://domain.de/edit/media/images/bild.png
Korrektes laden der Bild-Source mit Anmeldung
Wird die Base-URL weggelassen, versucht Yellow die Bilder aus edit/media/... zu laden, findet dort null und bricht ab.
Sicherlich ist ein Template-Prototyp ohne die Nutzung der Base-URL entwickelt, dennoch sollte die Funktion überall nachgetragen werden, um im Falle der Admin-Anmeldung ein korrektes funktionieren des Backend über alle Webseiten zu ermöglichen. Wenn Yellow CMS headless betrieben wird, kann auf diese Methode natürlich verzichtet werden, da sich der Pfad nicht verändern wird.
Im übrigen betrifft dies nicht nur Bilder, auch Links können manchmal ins leere laufen, wenn die Base-URL nicht verwendet wird. Daher kann es passieren, das während der Anmeldung im Backend der home-Button einen Error 404 verursacht.