Jump to content

Mando

Members
  • Posts

    37
  • Joined

  • Last visited

About Mando

  • Birthday 09/13/1984

Profile Information

  • Location
    Marseille
  • Activity
    Developer

Mando's Achievements

  1. We just run through this issue, and we discovered that the domain in our cookie wasn't the same as the site domain. We fix it and magically we can access the BO again. Check if the cookie domain and the site one match.
  2. C'est ce qui a été fait ici, les scripts sont appelés dans des fichiers .tpl dédiés, et le problème est bien là, à l'oeil, je ne trouve RIEN qui ne justifie ceci, même à l'affichage de la page sur navigateur (donc après appel des JS), ils n'apparaissent pas en double.
  3. Je ne sais pas, car je viens de reprendre le projet, je ne le connais pas encore comme il faut. Comment puis-je le voir ? Par contre, je n'ai ce soucis que sur 4 des nombreux scripts JS qui sont invoqués sur la page...
  4. Dans le cadre d'installation de liens de tracking sur un Presta 1.6, je suis amené à installer des inclusions de scripts JS, tels que celui ci : <script type="text/javascript" src="http://action.metaffiliation.com/trk.php?mclic={$idNACustomerJS}&argmon={$value}&argann={$orderid}" ></script> Quand j'affiche ma page, pas de soucis, tout se passe bien et les infos sont renseignées comme il faut. Idem en affichant la source et en regardant la fenêtre des scripts de Firebug. Cependant, la plateforme de tracking me signale qu'ils reçoivent deux remontées d'infos, et effectivement, quand j'analyse ma page avec GTmetrix, il me signale un doublon : D'où sort ce deuxième appel et pourquoi y a-t-il un paramètres supplémentaire ? A première vue, j'ai pensé à un timestamp, mais c'est trop gros. Est-ce que ça vient de Prestashop, sachant que j'ai au total 4 inclusions dans le même cas ? Est-ce que quelqu'un a déjà rencontré ce cas de figure ? Merci d'avance
  5. Voilà, c'est résolu. Le problème, quand on avance en récupérant des bouts de code à gauche et à droite, sans avoir la démarche complète, c'est que des fois on rate des trucs. Il me manquait donc une méthode ajaxProcessUpdatePositions dans mon adminTab, et du coup les méthodes updatePosition et cleanPosition dans ma classe. Du coup, pour les positions qui sont trop incrémentées, en fait c'est normal : j'avais rentré des valeurs à la main dans la base pour bosser sur mon tableau, et j'avais fait commencer les ordres à 1 au lieu de 0. Du coup, cleanPosition me les a remis d'équerre. Voilà, ça marche maintenant, et il semblerait même que ça le fasse à chaque fois. A bientôt pour le prochain épisode de mes questions de fou
  6. En fait j'ai avancé d'une étape entretemps J'ai réussi à afficher le tableau correctement et à bouger les lignes, par contre, les modifications ne sont pas enregistrées dans la base. Je bosse là dessus pour le moment. Mais merci pour le lien ! Ah oui, j'ai toujours les positions +1 dans mon tableau. Ca dit rien à personne ?
  7. J'ai trouvé une première étape de réponse : il manquait $helper->orderBy = 'position'; $helper->orderWay = 'asc'; dans la déclaration, du coup le tableau a la bonne forme. Par contre : Je ne peux toujours pas déplacer les lignes, et les les valeurs affichées des positions sont toujours égales à celles de la base +1. Donc il doit encore manquer quelque chose... Edit : après première recherche, les lignes du tableau généré par mon Helper n'ont pas d'ID. Reste à trouver d'où ça vient.
  8. Alors avant toute chose, je précise que j'ai déjà recherché et que je n'ai pas trouvé de solution, je n'ouvre pas ce sujet par flemme. Comme certains, j'essaie de faire apparaître dans mon tableau en admin, les flèches pour modifier mes positions directement (comme les catégories, par exemple). J'ai fouillé et j'ai trouvé un certain nombre de sujet, notamment sur ce forum, mais orienté pour Presta 1.5, et vu que je suis sur 1.6 et que ça ne marche pas, peut être y a-t-il des subtilités ou des différences que je n'ai pas trouvé. Voici mon code : $helper = new HelperList(); $helper->shopLinkType = ''; $helper->actions = array('edit', 'delete', 'view'); $helper->title = $this->l('Catégories'); $helper->token = Tools::getValue('token'); //$helper->currentIndex = AdminController::$currentIndex.'&configure='; $helper->_defaultOrderBy = 'position'; $helper->explicitSelect = true; $fields_list = array( 'id_category' => array( 'title' => $this->l('ID'), 'align' => 'text-center', 'class' => 'fixed-width-xs', 'orderby' => true, 'havingFilter' => true, 'tmpTableFilter' => true, ), 'name' => array( 'title' => $this->l('Name'), ), 'position' => array( 'title' => $this->l('Position'), 'class' => 'fixed-width-xs', 'position' => 'position', 'align' => 'center' ) ); $categories = Db::getInstance()->ExecuteS('SELECT id_category, name, position /* etc */ '); $this->content .= $helper->generateList($categories,$fields_list); Du coup, je me retrouve avec mon tableau qui affiche les bonnes données, sauf les positions dont toutes les valeurs sont incrémentées par rapport à la base de donnée. J'utilise cette méthode et pas celle déjà présente de base dans le constructeur, parce que je voudrais afficher deux tableaux sur la même pas (et j'y arrive) et que c'est le seul moyen que j'ai trouvé. Mais du coup, mon tri ne marche pas... Il manque quelque chose ? Mauvaise syntaxe ? Eléments dans le désordre ?
  9. Bon, une fois encore j'ai trouvé la solution à mon propre problème. Par contre, je ne sais pas si c'est la solution la plus élégante ou la plus propre. Dans mon constructeur, après parent::__construct(); je rajoute simplement $this->content .= $this->context->smarty->fetch($this->tpl); avec $this->tpl le chemin de mon fichier de template. Et pour faire bonne mesure, on peut rajouter ça derrière $this->context->controller->addCSS($this->css); $this->context->controller->addJquery(); $this->context->controller->addJS($this->js); Je sais pas si c'est le plus propre, mais ça marche. Par contre, pour info, si j'essaie de faire apparaitre ça après un tableau généré par Helper, ça me le fait apparaître avant. Personne n'est parfait...
  10. Ok, les hooks sont prévus pour accrocher des modules, d'où ma réponse. Maintenant, si tu ne veux pas créer un autre module, comme l'a répondu Lambert_TMC, soit effectivement tu peux simplement éditer le fichier .tpl d'un module déjà en place sur ton hook, et y rajouter ce que tu veux.
  11. J'essaie de développer un module, et j'aurais besoin d'une page dans l'admin utilisant une page .tpl, seulement malgré mes tâtonnements et les fragments de réponses que je trouve sur le net, je n'arrive pas à le faire fonctionner. Le mieux que j'arrive à faire, c'est d'afficher le contenu de mon fichier .tpl, mais sans l'environnement de Prestashop. Et comme je trouve que des bouts de réponses qui ne collent pas forcément ensemble, je tourne en rond. Mon contrôleur ne contient que le constructeur et une méthode display() remplie de mer cochonneries glanées à gauche et à droite. public function __construct() { $this->bootstrap = true; $this->context = Context::getContext(); $this->header_tpl = _PS_BO_ALL_THEMES_DIR_.'default/template/header.tpl'; $this->footer_tpl = _PS_BO_ALL_THEMES_DIR_.'default/template/footer.tpl'; $this->layout = _PS_MODULE_DIR_.'monModule/views/templates/admin/adminMonModule.tpl'; $this->override_folder = _PS_MODULE_DIR_.'monModule/views/templates/admin/'; parent::__construct(); } public function display(){ $this->context = Context::getContext(); $properties = Db::getInstance()->Execute(' /* requête */ '); $products = Db::getInstance()->Execute(' /* requête */ '); $this->context->smarty->assign(array( 'properties' => $properties, 'produits'=> $products, 'display_header' => true, 'display_footer' => true, 'header' => $this->context->smarty->fetch($this->header_tpl), 'footer' => $this->context->smarty->fetch($this->footer_tpl), )); parent::display(); } D'après ce que j'ai lu, Helper ne permet que de générer des formulaires, tableaux préformatés, je n'ai rien trouvé sur la création "libre". Si jamais c'est possible, ça m'intéresse, sinon, je me contenterais d'afficher le contenu de mon .tpl Ca doit bien être possible, non ?
  12. Bonjour, Pourquoi ne pas faire une règle dans le .htaccess ?
  13. Bonjour, Si c'est pour ajouter un module à ce hook, il suffit de rajouter $this->registerHook('displaynav'); dans l'install() du module. Ca marche pour tous les hooks PS : attention, ton site est très très lent.
  14. Bien sûr, c'est possible. Dans l'install() de ton module, il suffit de rajouter $this->registerHook('footer'); Ca marche avec tous les hooks
  15. Ok, après une nuit blanche, j'ai fini par trouver : j'avais oublié 'multilang' => true, dans la définition de ma classe. Aussi simple que ça.
×
×
  • Create New...