Keine Ahnsicht der ZoomBilder wenn kein Masterpicture vorhanden ist

Die “neue” Funktion der Bildgenerierung durch das Masterpicture ist in vielen Fällen ja was schönes.
Allerdings kann man diese Funktion dann nicht gebrauchen, wenn die Bilder extern generiert werden, und über die SOAP Schnittstelle eingelesen werden (also die Shop Bildergenerierung nicht gebraucht wird).

Jetzt macht OXID was komisches. Wenn kein Masterpicture hinterlegt ist (das ja in diesem Fall nicht gebraucht wird und nur Speicherplatz verbraucht), werden die Zoombilder nicht angezeigt, obwohl diese vorhanden sind.
Das ganze ist im Core in oxarticles zu finden.

Übeltäter: (oxarticles:02912 -> _getZoomPictureName)

    if ( $this->_hasGeneratedImage( $iIndex ) && [B]$this->_hasMasterImage( $iIndex )[/B] && $this->{"oxarticles__oxpic".$iIndex}->value ) {

Damit der Shop updatesicher ist, haben wir das ganze über ein Modul gelöst.

folgenden Code im Modulordner als productzoomimage.php abspeichern.

<?php
class productzoomimage extends productzoomimage_parent
{
    /**
     * Returns article zoom picture file name
     * FIXED: no need for master pic
     *
     * @param int $iIndex zoom picture index
     *
     * @return string
     */
    protected function _getZoomPictureName( $iIndex = '' )
    {
        $sZoomField = "oxarticles__oxzoom" . $iIndex;

        if ( !$this->_isFieldEmpty( $sZoomField ) ) {
            $sZoomName = basename( $this->$sZoomField->value );
        } else {
            if ( $this->_hasGeneratedImage( $iIndex ) && $this->{"oxarticles__oxpic".$iIndex}->value ) {
                $oPictureHandler = oxPictureHandler::getInstance();
                $sZoomName = $oPictureHandler->getZoomName( $this->{"oxarticles__oxpic".$iIndex}->value, $iIndex );
            } else {
                $sZoomName = "nopic.jpg";
            }
        }

        return $sZoomName;
    }
}

Im Admin dann bei den Modulen noch folgendes hinzufügen:

oxarticles => productzoomimage

Danke!

Wollt Ihr das ins Wiki zu den Tutorials packen?
Nicht dass es irgendwan im Forum verschütt geht…

Super! Die Lösung habe ich gesucht!