Jump to content

Xanaxilovsky

Members
  • Posts

    12
  • Joined

  • Last visited

1 Follower

About Xanaxilovsky

  • Birthday March 16

Contact Methods

Profile Information

  • Location
    Madagascar

Recent Profile Visitors

3,173,076 profile views

Xanaxilovsky's Achievements

Newbie

Newbie (1/14)

1

Reputation

1

Community Answers

  1. Bonjour, Je vous propose un module pour gérer des lexiques Fonctionnalités Ajout/Modification/Suppression de définitions (Disponible via un onglet nommé "Glossary" sur le menu à gauche) Titre de la page configurable 2 modes d'affichage possible : Affichage de toutes les définitions sur une seule page Affichage d'une page par lettre Pré-requis Testé uniquement avec Prestashop 1.6.0.14 TODO Rendre compatible avec Prestashop 1.5 et/ou antérieures Ajouter une gestion de catégories Pour contribuer, voici le lien github : https://github.com/xanou/lexikotron Et voici le module : [Module removed some function allow sql injection]
  2. J'ai trouvé une solution pour pouvoir enregistrer ses menus C'est pas la meilleure mais ça permet de corriger assez vite le problème Dans les classes ci-dessous, commenter les validations des champs qui posent problèmes \modules\pm_advancedtopmenu\AdvancedTopMenuClass.php \modules\pm_advancedtopmenu\AdvancedTopMenuColumnClass.php \modules\pm_advancedtopmenu\AdvancedTopMenuColumnWrapClass.php \modules\pm_advancedtopmenu\AdvancedTopMenuElementsClass.php Exemple pour la classe : AdvancedTopMenuClass.php // protected $fieldsSizeLang = array('name' => 64); // protected $fieldsValidateLang = array('name' => 'isCatalogName','link'=>'isUrl'); protected $table = 'pm_advancedtopmenu'; protected $identifier = 'id_menu'; public function __construct($id_menu = NULL, $id_lang = NULL) { // if(_PS_VERSION_ < 1.3) { // $this->fieldsValidateLang['value_over'] = 'isCleanHTML'; // $this->fieldsValidateLang['value_under'] = 'isCleanHTML'; // }else { // $this->fieldsValidateLang['value_over'] = 'isString'; // $this->fieldsValidateLang['value_under'] = 'isString'; // } parent::__construct($id_menu, $id_lang); }
  3. Bonjour, Peut-être que le thème utilise un autre module pour gérer ces blocs. Cela m'est déjà arrivé en utilisant un thème acheté. Il n'utilise plus les modules par défaut mais des modules spécifiques au thème.
  4. Mine is in french but you should find field like in the picture below in this page
  5. J'ai réussi à résoudre le problème en désactivant la recherche de mise à jour via le code. D'abord, Overrider la classe \controllers\admin\AdminModulesController.php, puis redéfinir la méthode initContent() Puis, commenter ou supprimer les codes qui se trouvent en dessous de ces commentaires : // Upgrade Module process, init check if a module could be upgraded // Module can't be upgraded if not file exist but can change the database version... Remplacer aussi return parent::initContent(); par return AdminController::initContent(); Voici le code complet class AdminModulesController extends AdminModulesControllerCore { public function initContent() { if (Tools::isSubmit('addnewmodule') && $this->context->mode == Context::MODE_HOST) { $this->display = 'add'; $this->context->smarty->assign(array('iso_code' => $this->context->language->iso_code)); return AdminController::initContent(); } $this->meta_title = 'Modules'; // If we are on a module configuration, no need to load all modules if (Tools::getValue('configure') != '') return true; $this->initToolbar(); $this->initPageHeaderToolbar(); // Init $smarty = $this->context->smarty; $autocomplete_list = 'var moduleList = ['; $category_filtered = array(); $filter_categories = explode('|', Configuration::get('PS_SHOW_CAT_MODULES_'.(int)$this->id_employee)); if (count($filter_categories) > 0) foreach ($filter_categories as $fc) if (!empty($fc)) $category_filtered[$fc] = 1; if (empty($category_filtered) && Tools::getValue('tab_module')) $category_filtered[Tools::getValue('tab_module')] = 1; foreach ($this->list_modules_categories as $k => $v) $this->list_modules_categories[$k]['nb'] = 0; // Retrieve Modules Preferences $modules_preferences = ''; $tab_modules_preferences = array(); $modules_preferences_tmp = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'module_preference` WHERE `id_employee` = '.(int)$this->id_employee); $tab_modules_preferences_tmp = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'tab_module_preference` WHERE `id_employee` = '.(int)$this->id_employee); foreach ($tab_modules_preferences_tmp as $i => $j) $tab_modules_preferences[$j['module']][] = $j['id_tab']; foreach ($modules_preferences_tmp as $k => $v) { if ($v['interest'] == null) unset($v['interest']); if ($v['favorite'] == null) unset($v['favorite']); $modules_preferences[$v['module']] = $v; } // Retrieve Modules List $modules = Module::getModulesOnDisk(true, $this->logged_on_addons, $this->id_employee); $this->initModulesList($modules); $this->nb_modules_total = count($modules); $module_errors = array(); $module_success = array(); $upgrade_available = array(); $dont_filter = false; //Add succes message for one module update if (Tools::getValue('updated') && Tools::getValue('module_name')) { $module_names = (string)Tools::getValue('module_name'); if (strpos($module_names, '|')) { $module_names = explode('|', $module_names); $dont_filter = true; } if (!is_array($module_names)) $module_names = (array)$module_names; foreach ($modules as $km => $module) if (in_array($module->name, $module_names)) $module_success[] = array('name' => $module->displayName, 'message' => array( 0 => sprintf($this->l('Current version: %s'), $module->version))); } // Browse modules list foreach ($modules as $km => $module) { //if we are in favorites view we only display installed modules if (Tools::getValue('select') == 'favorites' && !$module->id) { unset($modules[$km]); continue; } // Upgrade Module process, init check if a module could be upgraded // if (Module::initUpgradeModule($module)) // { // // When the XML cache file is up-to-date, the module may not be loaded yet // if (!class_exists($module->name)) // { // if (!file_exists(_PS_MODULE_DIR_.$module->name.'/'.$module->name.'.php')) // continue; // require_once(_PS_MODULE_DIR_.$module->name.'/'.$module->name.'.php'); // } // if ($object = new $module->name()) // { // $object->runUpgradeModule(); // if ((count($errors_module_list = $object->getErrors()))) // $module_errors[] = array('name' => $module->displayName, 'message' => $errors_module_list); // elseif ((count($conf_module_list = $object->getConfirmations()))) // $module_success[] = array('name' => $module->displayName, 'message' => $conf_module_list); // unset($object); // } // } // // Module can't be upgraded if not file exist but can change the database version... // // User has to be prevented // elseif (Module::getUpgradeStatus($module->name)) // { // // When the XML cache file is up-to-date, the module may not be loaded yet // if (!class_exists($module->name)) // if (file_exists(_PS_MODULE_DIR_.$module->name.'/'.$module->name.'.php')) // { // require_once(_PS_MODULE_DIR_.$module->name.'/'.$module->name.'.php'); // $object = new $module->name(); // $module_success[] = array('name' => $module->name, 'message' => array( // 0 => sprintf($this->l('Current version: %s'), $object->version), // 1 => $this->l('No file upgrades applied (none exist).')) // ); // } // else // continue; // unset($object); // } // Make modules stats $this->makeModulesStats($module); // Assign warnings if ($module->active && isset($module->warning) && !empty($module->warning) && !$this->ajax) { $href = Context::getContext()->link->getAdminLink('AdminModules', true).'&module_name='.$module->name.'&tab_module='.$module->tab.'&configure='.$module->name; $this->context->smarty->assign('text', sprintf($this->l('%1$s: %2$s'), $module->displayName, $module->warning)); $this->context->smarty->assign('module_link', $href); $this->displayWarning($this->context->smarty->fetch('controllers/modules/warning_module.tpl')); } // AutoComplete array $autocomplete_list .= Tools::jsonEncode(array( 'displayName' => (string)$module->displayName, 'desc' => (string)$module->description, 'name' => (string)$module->name, 'author' => (string)$module->author, 'image' => (isset($module->image) ? (string)$module->image : ''), 'option' => '', )).', '; // Apply filter if ($this->isModuleFiltered($module) && Tools::getValue('select') != 'favorites') unset($modules[$km]); else { if (isset($modules_preferences[$modules[$km]->name])) $modules[$km]->preferences = $modules_preferences[$modules[$km]->name]; $this->fillModuleData($module, 'array'); $module->categoryName = (isset($this->list_modules_categories[$module->tab]['name']) ? $this->list_modules_categories[$module->tab]['name'] : $this->list_modules_categories['others']['name']); } unset($object); if ($module->installed && isset($module->version_addons) && $module->version_addons) $upgrade_available[] = array('anchor' => ucfirst($module->name), 'name' => $module->name, 'displayName' => $module->displayName); if (in_array($module->name, $this->list_partners_modules)) $module->type = 'addonsPartner'; if (isset($module->description_full) && trim($module->description_full) != '') $module->show_quick_view = true; } // Don't display categories without modules $cleaned_list = array(); foreach ($this->list_modules_categories as $k => $list) if ($list['nb'] > 0) $cleaned_list[$k] = $list; // Actually used for the report of the upgraded errors if (count($module_errors)) { $html = $this->generateHtmlMessage($module_errors); $this->errors[] = sprintf(Tools::displayError('The following module(s) were not upgraded successfully: %s'), $html); } if (count($module_success)) { $html = $this->generateHtmlMessage($module_success); $this->confirmations[] = sprintf($this->l('The following module(s) were upgraded successfully:').' %s', $html); } ConfigurationKPI::updateValue('UPDATE_MODULES', count($upgrade_available)); if (count($upgrade_available) == 0 && (int)Tools::getValue('check') == 1) $this->confirmations[] = $this->l('Everything is up-to-date'); // Init tpl vars for smarty $tpl_vars = array( 'token' => $this->token, 'upgrade_available' => $upgrade_available, 'currentIndex' => self::$currentIndex, 'dirNameCurrentIndex' => dirname(self::$currentIndex), 'ajaxCurrentIndex' => str_replace('index', 'ajax-tab', self::$currentIndex), 'autocompleteList' => rtrim($autocomplete_list, ' ,').'];', 'showTypeModules' => $this->filter_configuration['PS_SHOW_TYPE_MODULES_'.(int)$this->id_employee], 'showCountryModules' => $this->filter_configuration['PS_SHOW_COUNTRY_MODULES_'.(int)$this->id_employee], 'showInstalledModules' => $this->filter_configuration['PS_SHOW_INSTALLED_MODULES_'.(int)$this->id_employee], 'showEnabledModules' => $this->filter_configuration['PS_SHOW_ENABLED_MODULES_'.(int)$this->id_employee], 'nameCountryDefault' => Country::getNameById($this->context->language->id, Configuration::get('PS_COUNTRY_DEFAULT')), 'isoCountryDefault' => $this->iso_default_country, 'categoryFiltered' => $category_filtered, 'modules' => $modules, 'nb_modules' => $this->nb_modules_total, 'nb_modules_favorites' => count($this->context->employee->favoriteModulesList()), 'nb_modules_installed' => $this->nb_modules_installed, 'nb_modules_uninstalled' => $this->nb_modules_total - $this->nb_modules_installed, 'nb_modules_activated' => $this->nb_modules_activated, 'nb_modules_unactivated' => $this->nb_modules_installed - $this->nb_modules_activated, 'list_modules_categories' => $cleaned_list, 'list_modules_authors' => $this->modules_authors, 'add_permission' => $this->tabAccess['add'], 'tab_modules_preferences' => $tab_modules_preferences, 'kpis' => $this->renderKpis(), 'module_name' => Tools::getValue('module_name'), 'page_header_toolbar_title' => $this->page_header_toolbar_title, 'page_header_toolbar_btn' => $this->page_header_toolbar_btn, 'modules_uri' => __PS_BASE_URI__.basename(_PS_MODULE_DIR_), 'dont_filter' => $dont_filter, 'is_contributor' => (int)$this->context->cookie->is_contributor ); if ($this->logged_on_addons) { $tpl_vars['logged_on_addons'] = 1; $tpl_vars['username_addons'] = $this->context->cookie->username_addons; } $smarty->assign($tpl_vars); } } La suppression des modules qui ne sont plus utilisés et des modules sauvegardés comme "paypal_old, blocktopmenu12122013, ..." ont aussi permis d'accélerer le chargement de la page.
  6. Bonjour, Je viens d'upgrader mon prestashop version 1.5.4.1 vers la version 1.6.0.14. J'ai utilisé la méthode de mise à jour automatique. Après cela, je me retrouve avec la page liste des modules très lent à accéder. 1mn à 4mn d'attente avant que la page se charge. Voici les actions que j'ai effectué pour essayer de fixer cela, mais sans succès : Administration > Préférences > Mettre "Vérifier automatiquement les mises à jour de modules" à NON Dossier \config\xml : Suppression de tous les fichiers XML Désactivation du module navigation à facette vu que ce module est aussi tres lent Désactivation du module Expertise PrestaShop (Car ralentit parfois l'admin) Est-ce-que quelqu'un a déjà rencontré ce problème et l'a résolu? Merci d'avance pour vos réponses.
  7. Hello, Here is the solution I used : http://stackoverflow.com/questions/30390615/prestashop-add-multiple-category-trees-with-helper-form/30391424#30391424
  8. Je viens de trouver. J'ai fais 2 fois appel au tinymce et c'était la cause du problème
  9. Bonjour, J'ai un problème avec mon textarea en tinymce. Son contenu n'est jamais pris en compte lors de la modification du formulaire. Cela se passe au niveau du module editorial. Le contenu du formulaire est enregistré dans un fichier xml appelé "editorial.xml" . Tous les contenus des autres champs sont mis à jour dans le fichier sauf celui du textarea. Est-ce que quelqu'un connait pour quelle raison? Merci d'avance.
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More