Unterschiedliches Verhalten einer Pfadangabe bei lokaler und bei Online Anzeige

  • Joomla 4.4.3

    php-Version online 8.1.27

    php-Version lokal 8.1.10

    online noch in nicht-öffentlicher Testversion, Vorgängerversion mit J3 hier: https://graf-nutzfahrzeuge.de/fahrzeuge?view=fahrzeuge

    (auf ein beliebiges Fahrzeugbild klicken, in der Einselansicht mit dem Mauszeiger über die kleinen Vorschaubilder fahren. Das ist der gewünschte Effekt)


    Hallo,


    ich habe ein eigenartiges, weil unterschiedliches Verhalten bei Pfadangaben in der online und in der lokalen Installation.


    Beim Verweis auf ein Bilderverzeichnis muss ich in der lokalen Version den Pfad so angeben:

    /Daten/Fahrzeuge/Fahrzeugbilder/ - mit einleitenden Schrägstrich

    und bei der online Version so:

    images/fahrzeugbilder/ - ohne einleitenden Schrägstrich


    Da ich die Pfadangabe sowieso irgendwo hinterlegen muss (Tabelle #__gdv4_config), könnte ich damit eigentlich leben, wenn nicht ein Folgefehler auftreten würde. Der tritt auf, wenn ein Javascript ausgeführt wird. Im einen Fall (lokal) findet das Script die Bilder, im anderen (online) nicht. Das heißt, die Vorschaubilder werden immer angezeigt. Beim Überfahren mit dem Mauszeiger verschwindet in der Online-Version aber das Hauptbild und erscheint auch bei mouseout nicht wieder. Das andere Bild wird gar nicht erst in der großen Ansicht angezeigt. Lokal funktioniert alles einwandfrei. Das ausserdem installierte Karoussell für das große Bild funktioniert in beiden Installationen.

    Wenn ich in der Online-Version den einführenden Schrägstrich setze, kann ich auf kein Bild mehr zugreifen, wenn ich ihn in der lokalen Version weg lasse genauso.

    Setze ich im Javascript den Schrägstrich, funktioniert es in der Online-Version, aber nicht mehr in der lokalen.


    Was läuft da schief?


    Das ist der Code mit dem Script:


    PHP
    <php $bilderpfad = $this->bildpfad;
    .....
    foreach ($bilder as $bild) {
    $bild_src = $bilderpfad . $bild; ?>
    <div class="fahrzeug_vorschaubild col-xl-2 col-lg-2 col-md-2 col-sm-3" >
    <a onmouseover="javascript:changeImg('<?php echo $bild_src; ?> ')" onmouseout="javascript:changeImg('<?php echo $bilderpfad . $bilder[0]; ?> ')"> 
    <img src="<?php echo $bild_src; ?>" alt="<?php echo $marke_modell; ?>, Interne Nummer: <?php echo $interne_nummer; ?>">  
    </a>
    </div>
    <?php } ?>

    Viele Grüße aus der sonnigen Pfalz


    Alexander

  • Welches Template nutzt du?


    /Daten/Fahrzeuge/Fahrzeugbilder/ - mit einleitenden Schrägstrich

    und bei der online Version so:

    images/fahrzeugbilder/ - ohne einleitenden Schrägstrich

    Es sind verschiedene Ordner-Pfade.


    Lokal gibt es keinen Ordner /images?

  • Das Template ist ein Child von Cassiopeia mit wenigen CSS-Anpassungen.


    Das lokale Verzeichnis ist ein Verzeichnis ausserhalb des Joomla-Stammverzeichnisses, aber gleiche Festplatte.


    Hier noch eine weitere Information, die nach meinen heutigen Recherchen vielleicht auch von Bedeutung sein könnten:


    Lokal läuft Joomla auf einem Apache Webserver unter Windows, während die online-Installation auf einem Apache unter Linux läuft. Vielleicht hat das jeweilige Server-OS einen Einfluss auf die Pfadangabe, was allerdings nicht erklärt, warum online mal mit und einmal ohne einleitenden Schrägstrich geroutet wird.

    Viele Grüße aus der sonnigen Pfalz


    Alexander

  • Mit dem Ordner von ausserhalb habe ich überhaupt kein Problem, das ist das lokale System.

    Ich habe es nur mit ins Spiel gebracht um zu zeigen, dass der Zugriff IMMER mit dem Schrägstrich möglich ist.


    Das Problem tritt erst auf, wenn ich mit dem online-System arbeite, dort greife ich auf den images Ordner von Joomla zu. Und zwar einmal ohne den Schrägstrich bei php Zugriffen, und einmal brauche ich den Schrägstrich, wenn ich mit Javascript zugreife.

    Viele Grüße aus der sonnigen Pfalz


    Alexander