• 03-08-2021, 10:25:07
    #1
    Selamlar, bir web sitem var ürün resimleri, slider ve bannerları .webp dosya formatında yüklemek istiyorum bunun için otomatik .webp formatına çevirecek eklenti satın aldım fakat ben kendim manuel olarak yükleyip seçmek istiyorum bunun için ne yapabilirim ? Sistem > Mağazalar > Sunucu yerinden .webp dosyasına izin verdim fakat yine de "Uyarı: Yanlış dosya türü!" hatasını alıyorum.

    Opencart 3.0.2.0

    Yardımcı olursanız sevinirim
  • 03-08-2021, 12:29:56
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    <file path="system/library/image.php">
        <operation error="log">
                <search><![CDATA[if ($this->mime == 'image/gif')]]></search>
                <add position="before"><![CDATA[if ($this->mime == 'image/webp') {
                    $this->image = imagecreatefromwebp($file);
                }
                ]]></add>
            </operation>
            <operation error="skip">
                <search><![CDATA[imagedestroy($this->image);]]></search>
                <add position="before"><![CDATA[elseif ($extension == 'webp') {
                                imagewebp($this->image, $file);
                }]]></add>
            </operation>
        </file>
        
        <file path="admin/model/tool/image.php">
        <operation error="log">
                <search><![CDATA[if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF)))]]></search>
                <add position="replace"><![CDATA[
                if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF,18)))
                ]]></add>
            </operation>
        </file>
        <file path="catalog/model/tool/image.php">
        <operation error="log">
                <search><![CDATA[if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF)))]]></search>
                <add position="replace"><![CDATA[
                if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF,18)))
                ]]></add>
            </operation>
        </file>
            
        <file path="admin/controller/common/filemanager.php">
        <operation error="skip">
                <search><![CDATA[$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);]]></search>
                <add position="replace"><![CDATA[
                $files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,webp,JPG,JPEG,PNG,GIF,WEBP}', GLOB_BRACE);
                ]]></add>
            </operation>
            <operation error="skip">
                <search><![CDATA[move_uploaded_file($file['tmp_name'], $directory . '/' . $filename);]]></search>
                <add position="after"><![CDATA[
                                           $isJPG=array('jpg');
                                            if (in_array(utf8_strtolower(utf8_substr(strrchr($filename, '.'), 1)), $isJPG)) {
                                            $save_to_path = $directory . '/' . $filename;
                                            $im = imageCreateFromJpeg($save_to_path);
                                            imagewebp($im, substr_replace($save_to_path , 'webp', strrpos($save_to_path , '.') +1));
                        }
                ]]></add>
            </operation>
        </file>
    İster Modifikasyon dosyası ayarla ocmod olarak System klasorune ekle, istersen Manuel bu değişiklikleri yaparsan işini görecektir.
  • 03-08-2021, 12:44:14
    #3
    webnazoeticaret adlı üyeden alıntı: mesajı görüntüle
    <file path="system/library/image.php">
        <operation error="log">
                <search><![CDATA[if ($this->mime == 'image/gif')]]></search>
                <add position="before"><![CDATA[if ($this->mime == 'image/webp') {
                    $this->image = imagecreatefromwebp($file);
                }
                ]]></add>
            </operation>
            <operation error="skip">
                <search><![CDATA[imagedestroy($this->image);]]></search>
                <add position="before"><![CDATA[elseif ($extension == 'webp') {
                                imagewebp($this->image, $file);
                }]]></add>
            </operation>
        </file>
        
        <file path="admin/model/tool/image.php">
        <operation error="log">
                <search><![CDATA[if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF)))]]></search>
                <add position="replace"><![CDATA[
                if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF,18)))
                ]]></add>
            </operation>
        </file>
        <file path="catalog/model/tool/image.php">
        <operation error="log">
                <search><![CDATA[if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF)))]]></search>
                <add position="replace"><![CDATA[
                if (!in_array($image_type, array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF,18)))
                ]]></add>
            </operation>
        </file>
            
        <file path="admin/controller/common/filemanager.php">
        <operation error="skip">
                <search><![CDATA[$files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE);]]></search>
                <add position="replace"><![CDATA[
                $files = glob($directory . '/' . $filter_name . '*.{jpg,jpeg,png,gif,webp,JPG,JPEG,PNG,GIF,WEBP}', GLOB_BRACE);
                ]]></add>
            </operation>
            <operation error="skip">
                <search><![CDATA[move_uploaded_file($file['tmp_name'], $directory . '/' . $filename);]]></search>
                <add position="after"><![CDATA[
                                           $isJPG=array('jpg');
                                            if (in_array(utf8_strtolower(utf8_substr(strrchr($filename, '.'), 1)), $isJPG)) {
                                            $save_to_path = $directory . '/' . $filename;
                                            $im = imageCreateFromJpeg($save_to_path);
                                            imagewebp($im, substr_replace($save_to_path , 'webp', strrpos($save_to_path , '.') +1));
                        }
                ]]></add>
            </operation>
        </file>
    İster Modifikasyon dosyası ayarla ocmod olarak System klasorune ekle, istersen Manuel bu değişiklikleri yaparsan işini görecektir.
    Yardımınız için teşekkür ederim bu kodları hangi dosyada değişiklik yapmam gerekiyor acaba
  • 03-08-2021, 12:53:45
    #4
    HakanSvrmm adlı üyeden alıntı: mesajı görüntüle
    Yardımınız için teşekkür ederim bu kodları hangi dosyada değişiklik yapmam gerekiyor acaba
    file path ile başlayan yazılar dosya yollarıdır, Aslında bu kadar bile bilginiz bulunmuyorsa Profesyonel Yardım almanızı öneririm, System dosyalarına bilinçsiz müdehale sisteminizi geri dönülemez şekilde zararlar verebilir
  • 03-08-2021, 12:59:33
    #5
    webnazoeticaret adlı üyeden alıntı: mesajı görüntüle
    file path ile başlayan yazılar dosya yollarıdır, Aslında bu kadar bile bilginiz bulunmuyorsa Profesyonel Yardım almanızı öneririm, System dosyalarına bilinçsiz müdehale sisteminizi geri dönülemez şekilde zararlar verebilir
    Anladım uyarınız için teşekkürler ayrı bir subdomaine kurup deniyorum file path kısmındaki dosya lokasyonları anladım inceledim fakat yanlış bir şey yapmak istemedim bu kodları ayrı ayrı filepathda yazan yerleremi ekleyeceğiz acaba ?
  • 17-08-2021, 16:16:47
    #6
    doğrudan webp yüklerseniz safaride resimleriniz görünmeyecektir hocam bilginiz olsun safari webp desteklemiyor.
  • 28-08-2021, 13:51:08
    #7
    jtm adlı üyeden alıntı: mesajı görüntüle
    doğrudan webp yüklerseniz safaride resimleriniz görünmeyecektir hocam bilginiz olsun safari webp desteklemiyor.
    Evet biliyorum ama yine de teşekkür ederim eklentiyi bir şekilde hallettim keşke kod paylaşan arkadaş yardımcı olsaydı çok uğraşmazdım
  • 25-07-2023, 23:29:42
    #8
    hocam kodu tam nereye yazıyoruz