Θέλω να επενεργοποιήσω τα Friendly URL's μόνο για τις εικόνες προϊόντων και όχι για όλο το υπόλοιπο eshop.
Γιατί το URL των φωτογραφιών τώρα είναι αυτής της μορφής
/471/product_name.jpg
/466/product_name.jpg
/479/product_name.jpg
Είναι σαν να έχουν δηλαδή το ίδιο filename.
Ενώ εγώ θέλω το πραγματικό URL όπως είναι όταν δεν είναι ενεργοποιημένo τα Friendly URL's του Prestashop
Βρήκα πως αυτό γίνετε στα classes/Link.php
Για παράδειγμα κάποιος μπόρεσε να το επενεργοποιήσει για τις category images ενώ δείνει και ένα Link απο κάποιον που το απενεργοποίησε και απο τα product images αλλά είναι απο παλαιότερη έκδοση prestashop.
Στα overide/classes στην εγκατάστασή μου υπάρχει ήδη ένα Link.php το παρακάτω ίσως λόγο του super speed cache module Που έχω εγκαταστήσει. Κάποιος που γνωρίζει καλύτερα τον κώδικα του prestashop μπορεί να βοηθήσει παρακαλώ να κάνω comment τις γραμμές που πρέπει?
class Link extends LinkCore
{
/*
* module: ets_superspeed
* date: 2022-08-23 14:27:26
* version: 1.5.5
*/
public function getImageLink($name, $ids, $type = null)
{
$notDefault = false;
if (version_compare(_PS_VERSION_, '1.7', '>=')) {
$moduleManagerBuilder = PrestaShop\PrestaShop\Core\Addon\Module\ModuleManagerBuilder::getInstance();
$moduleManager = $moduleManagerBuilder->build();
static $watermarkLogged = null;
static $watermarkHash = null;
static $psLegacyImages = null;
if ($watermarkLogged === null) {
$watermarkLogged = Configuration::get('WATERMARK_LOGGED');
$watermarkHash = Configuration::get('WATERMARK_HASH');
$psLegacyImages = Configuration::get('PS_LEGACY_IMAGES');
}
if (!empty($type) && $watermarkLogged &&
($moduleManager->isInstalled('watermark') && $moduleManager->isEnabled('watermark')) &&
isset(Context::getContext()->customer->id)
) {
$type .= '-' . $watermarkHash;
}
}
else
{
if (($type != '') && Configuration::get('WATERMARK_LOGGED') && (Module::isInstalled('watermark') && Module::isEnabled('watermark')) && isset(Context::getContext()->customer->id)) {
$type .= '-'.Configuration::get('WATERMARK_HASH');
}
$psLegacyImages =Configuration::get('PS_LEGACY_IMAGES');
}
$is_webp = false;
$theme = ((Shop::isFeatureActive() && file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . '-' . Context::getContext()->shop->theme_name . '.jpg')) ? '-' . Context::getContext()->shop->theme_name : '');
if (($psLegacyImages
&& (file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . $theme . '.jpg')))
|| ($notDefault = strpos($ids, 'default') !== false)) {
if ($this->allow == 1 && !$notDefault) {
$uriPath = __PS_BASE_URI__ . $ids . ($type ? '-' . $type : '') . $theme . '/' . $name . '.jpg';
} else {
$uriPath = _THEME_PROD_DIR_ . $ids . ($type ? '-' . $type : '') . $theme . '.jpg';
}
if(file_exists(_PS_PROD_IMG_DIR_ . $ids . ($type ? '-' . $type : '') . '.webp'))
$is_webp = true;
} else {
$splitIds = explode('-', $ids);
$idImage = (isset($splitIds[1]) ? $splitIds[1] : $splitIds[0]);
$theme = ((Shop::isFeatureActive() && file_exists(_PS_PROD_IMG_DIR_ . Image::getImgFolderStatic($idImage) . $idImage . ($type ? '-' . $type : '') . '-' . (int) Context::getContext()->shop->theme_name . '.jpg')) ? '-' . Context::getContext()->shop->theme_name : '');
if ($this->allow == 1) {
$uriPath = __PS_BASE_URI__ . $idImage . ($type ? '-' . $type : '') . $theme . '/' . $name . '.jpg';
} else {
$uriPath = _THEME_PROD_DIR_ . Image::getImgFolderStatic($idImage) . $idImage . ($type ? '-' . $type : '') . $theme . '.jpg';
}
if(file_exists(_PS_PROD_IMG_DIR_ . Image::getImgFolderStatic($idImage) . $idImage . ($type ? '-' . $type : '') . '.webp'))
$is_webp = true;
}
if($is_webp)
{
$url = $this->protocol_content . Tools::getMediaServer($uriPath) . $uriPath;
return str_replace('.jpg','.webp',$url);
}
else
return $this->protocol_content . Tools::getMediaServer($uriPath) . $uriPath;
}
}