Jump to content

Fichiers qui apparaissent dans override/classes


Recommended Posts

Bonsoir,

 

Aujourd'hui je me suis retrouvé avec l'impossibilité d'utiliser les valeurs des caractéristiques dans les pages produits du BO. 

 

Je me suis finalement aperçu qu'il y avait 2 fichiers : Product.php et Feature.php qui étaient dans le dossier override/classes. Lorsque je les ai enlevés, tout est redevenu normal au niveau des caractéristiques et des valeurs.

Hors je n'ai jamais mis de fichier dans ce dossier ... alors qu'est ce qu'ils faisaient là !?

 

Pensez vous que ce soit un module qui les a crée ?

 

En tout cas ça m'a bien bloqué pendant des heures pour chercher à comprendre le problème.

Link to comment
Share on other sites

Bonjour

 

Vous avez installer un nouveau thème ? 

Ou un module ? 

 

Certain thème ou module en effet font des overrides et dans ce cas le fichier est déposé dans le dossier /overrides/

Si je me trompe pas ces fichiers peuvent être supprimer, ils seront récréer.

Link to comment
Share on other sites

Bonjour

 

Vous avez installer un nouveau thème ? 

Ou un module ? 

 

Certain thème ou module en effet font des overrides et dans ce cas le fichier est déposé dans le dossier /overrides/

Si je me trompe pas ces fichiers peuvent être supprimer, ils seront récréer.

 

Non, c'est le thème par défaut de prestashop que j'utilise.

Link to comment
Share on other sites

Renommez les en product.php.old et en Feature.php.old, vérifier le fonctionnement de votre site et si tout va bien vous pouvez les supprimer.

 

Oui, lorsqu'ils sont renommés ou que je les enlève, le back office fonctionne normalement. Merci.

Link to comment
Share on other sites

Si il y a override autre que manuel, il ne peut s'agir que de module ajouté. Le BO de presta fonctionne, mais vous aurez probablement des soucis avec un ou deux modules qui ont crée ces overides.

Tenez nous au courant :)

Link to comment
Share on other sites

Si il y a override autre que manuel, il ne peut s'agir que de module ajouté. Le BO de presta fonctionne, mais vous aurez probablement des soucis avec un ou deux modules qui ont crée ces overides.

Tenez nous au courant :)

 

D'après le code se trouvant dans le fichier product.php, ce fichier, et l'autre aussi d'ailleurs, viennent du module featuredeluxe.

 

Tous les modules de mon prestashop sont les modules de base qui apparaissent une fois prestashop installé, je n'ai jamais ajouté le module featuredeluxe (à moins que celui-ci soit intégré à Prestashop mais je ne le vois pas dans la liste).

 

Voici le code du fichier product.php :

<?php
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2011 PrestaShop SA
*  @version  Release: $Revision: 1.4 $
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

define('_CUSTOMIZE_FILE_', 0);
define('_CUSTOMIZE_TEXTFIELD_', 1);

class Product extends ProductCore
{
	
	public function getFrontFeatures($id_lang)
	{
		return self::getFrontFeaturesStatic($id_lang, $this->id);
	}
	
	
	/*
	* Select all features for a given language
	*
	* @param $id_lang Language id
	* @return array Array with feature's data
	*/
	public static function getFrontFeaturesStatic($id_lang, $id_product)
	{
// 11/05/2011
// Johann Corbel
// module featuredeluxe		
		if (!array_key_exists($id_product.'-'.$id_lang, self::$_frontFeaturesCache))
		{	
			self::$_frontFeaturesCache[$id_product.'-'.$id_lang] = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
			SELECT name, value, pf.id_feature
			FROM '._DB_PREFIX_.'feature_product pf
			LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.(int)$id_lang.')
			LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.(int)$id_lang.')
			LEFT JOIN '._DB_PREFIX_.'features_position fp ON (fl.id_feature = fp.id_feature) 
			WHERE pf.id_product = '.(int)$id_product.'
			ORDER BY fp.position_feature ASC');

		}

			self::$_frontFeaturesCache[$id_product.'-'.$id_lang] = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
			SELECT name, value, pf.id_feature
			FROM '._DB_PREFIX_.'feature_product pf
			LEFT JOIN '._DB_PREFIX_.'feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = '.(int)$id_lang.')
			LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = '.(int)$id_lang.')
			LEFT JOIN '._DB_PREFIX_.'features_position fp ON (fl.id_feature = fp.id_feature) 
			WHERE pf.id_product = '.(int)$id_product.'
			ORDER BY fp.position_feature ASC');

		return self::$_frontFeaturesCache[$id_product.'-'.$id_lang];
	}
}


Edited by Doly77 (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...