maestrobo Posted October 14, 2010 Share Posted October 14, 2010 Je n'arrive pas à acceder à l'onglet de paiement.J'ai 4 modules de paiement installés tgg_atos, bankswire, check, paypal api. Seul tgg_atos en module exterieure.Je suis passé sou 1.3.2 sous peu. Je n'arrive pas à dire si c'est lié ou pas.Sinon le probleme semble lié à l'affichage des pays, qui fait écran blanc (aucun retour)Pour faire revenir la page à la normale, il m'a suffit de s"activer la partie PAYS //$this->displayModuleRestrictions($countries, $this->l('Countries restrictions'), 'country', $textCountries, 'world'); J'ai essayé de debugguer le probleme mais je ne vois pas exactement ou ca coince.Des idées? Link to comment Share on other sites More sharing options...
maestrobo Posted October 14, 2010 Author Share Posted October 14, 2010 réponse à ma questionapres avoir planché dessus, je me suis apercu que pour le cheque et pour le virement, tous les pays étaient cochés (ou du moins comme tel dans la BD).j'ai donc supprimé les pays liées aux modules de paiement en trop et tout est revenu à la normale. Il semble qu'il y a un probleme de performance ici.Le code SQL à lancerDELETE FROM `ps_module_country` WHERE id_module = 'numerodumodule'Bref pour tester et voir si le bug est présent chez vous:cochez l'ensemble des pays pour 1,2,3,4 modes de paiement et voyez le résultat. Link to comment Share on other sites More sharing options...
maestrobo Posted October 17, 2010 Author Share Posted October 17, 2010 probleme de performance à nouveau. Meme si j'ai une table avec peu d'éléments. le probleme est réapparu apres quelques temps (sans explication).la classe utilise un code qui fait que chaque module de paiement est parcouru pour chaque instruction de vérification.l'astuce consiste donc à OPTIMISER le code:Voici le code: class AdminPayment extends AdminTab { public $paymentModules = array(); public $paymentModulesActive = array(); public function __construct() { /* Get all modules then select only payment ones*/ $modules = Module::getModulesOnDisk(); foreach ($modules AS $module) if ($module->tab == 'Payment') { if ($module->active) $this->paymentModulesActive[] = $module; ... et de remplacer les codes dans la fonction public function displayModuleRestrictions foreach ($this->paymentModules as $module) par foreach ($this->paymentModulesActive as $module) où la vérification sur module->active est faite (uniquement). Link to comment Share on other sites More sharing options...
maestrobo Posted October 18, 2010 Author Share Posted October 18, 2010 bon apres tout cela, il semble que ce probleme se représente avec d'autres modulesje viens de trouver le probleme, il s'agit d'un probleme de mémoirej'ai placé dans l'index ceci: ini_set('memory_limit','64M'); en début de fichier dans l'admin. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now