J'ai déjà écrit de nombreux modules avant, mais pour une raison quelconque, mon module d'expédition ne remplace pas une méthode d'expédition magnéto exsive. Est-ce permis? Qu'est-ce que j'oublie ici? Le nom du module apparaît dans l'onglet Avancé de la zone de configuration, il est donc chargé, mais rien ne se passe. Toute astuce?
code p>
etc / modules / ssi_shipping.xml p> local / ssi / expédition / etc.xml p> local / ssi / expédition / modèle / porteur / table.php p>
5 Réponses :
Vérifiez d'abord que le modèle est remplacé par le tout. Essayez ceci:
Où voudrais-je mettre ça? N'importe où sur la page?
Je garde un fichier autour de cela initialise le cadre mais me donne une "version de grattage" (une version presque clonée du fichier index.php) pour être rapide, vous devriez être capable de le mettre dans un modèle, par exemple, et d'aller bien. N'oubliez pas de le supprimer plus tard.
Après avoir travaillé un peu, j'ai trouvé que le seul moyen de remplacer le contrôleur d'expédition était de faire dupliquer le fichier (et la structure du répertoire) dans le dossier de code local. Ensuite, je pourrais essentiellement modifier le code. p>
Je ne sais pas pourquoi Magento ne semble pas permettre la norme de remplacement de ces fonctions d'expédition, mais le moins il y a un travail autour. p>
Je ne le recommande vivement pas. Il y a un moyen propre pour remplacer le transporteur, voir ma réponse.
Il y a un moyen, mais ce n'est pas évident et m'a obligé de parcourir le module d'expédition Source:
Si vous regardez Mage_Shipping_model_config strong>, vous découvrirez que le code utilisé comme paramètre pour mage: : GetModel () est pris à partir de la configuration du magasin. Ce code n'est pas le code standard comme 'Shipping / Carrier_Tablerate', de sorte que cela n'aide pas à déterminer comme d'habitude. P> Vous devez maintenant trouver d'abord ce que ce code est. Par exemple, je voulais remplacer le porte-matriciate, alors je l'ai testé comme ça: p> Oui, vous pouvez mettre ce code n'importe où sur la page temporaire mais il est utile d'avoir Un fichier séparé pour de telles choses pouvant être exécutées à partir de la ligne de commande (commençant par MAGE :: App () pour initialiser Magento) P> Dans mon cas, le code était matrixrate_shipping / porteur_matrixrate strong> J'ai donc dû changer mon config.xml comme celui-ci: p> au lieu de p> bonne chance! P> Bonne chance! P > p>
mate, merci pour celui-ci, cela m'a donné un mal de tête pendant un certain temps
Cela fait longtemps que j'ai eu le même problème les derniers jours. Je voulais remplacer les méthodes d'expédition FreeShipping et Flattrate et, en plus de la réponse de Fab, j'ai dû ajouter le code suivant dans etc / config.xml. Dans mon cas, les valeurs d'origine sont situées dans l'application / code / noyau / mage / expédition / etc / config.xml. Les valeurs du modèle sont des exemples. Vous devez les remplacer par vos chemins corrects. P> p>
Pouvez-vous s'il vous plaît partager ce qui est à l'intérieur de la classe d'expédition_carrier_fratrate
Si quelqu'un d'autre est confronté à ce problème et est venu ici pour la solution, il ressemble à OP avoir utilisé Codepool code> dans le fichier de module où il devrait être
Codepool code> (remarquez la capitale p ). p>