Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Ajout de champs supplémentaires pour les règles de prix catalogue [Résolu]
 
Ronan Capitaine
Member
 
Total Posts:  36
Joined:  2008-12-10
 

Bonjour,

Je poste ici afin d’essayer d’éclaircir mon problème.
Mon but principal est de me faire un petit patch, afin d’améliorer Magento, notament ces règles de prix.
J’ai donc ajouter au niveau des règles de prix 4 champs complémentaires un peu comme OpenERP.
J’ai retouché les pages “action.php” et “Rule.php” dans le dossier CatalogRule.
Quand je vais dans le panneau d’administration, tout apparait, pas de soucis.

Mon problème est que les champs ne sont pas rajoutés dans la base de données. Ils n’ont donc aucune utilité.
Je pourrais les ajouter en allant dans PhpmyAdmin, mais ce n’est pas mon but.
Ce que je souhaite c’est que ces champs s’ajoutent via un script, comme les patchs Magento (expl: 1.1.6 >1.1.8).
J’ai essayé de faire un script comme par exemple mysql4-upgrade-0.7.0-0.7.1.php (une petite partie du code est ci-dessous).

$installer $this;
/* @var $installer Mage_Core_Model_Resource_Setup */
$installer->startSetup();
$installer->getConnection()->addColumn($this->getTable('catalogrule'), 'rounding''decimal(12,4) not null');
$installer->endSetup();
Cependant, je ne sais pas comment la mise à jour se fait. Ou peut être que je fais fausse route.
En espérant trouver de l’aide.

Bonne fin de journée.

Ronan Capitaine

 
Magento Community Magento Community
Magento Community
Magento Community
 
SeL_
Magento Team
 
Avatar
Total Posts:  1140
Joined:  2007-10-10
Paris, France
 

Bonjour,

Ce sujet est abordé dans le post suivant.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Ronan Capitaine
Member
 
Total Posts:  36
Joined:  2008-12-10
 

Merci SeL, mais j’ai eut le temps de trouver cette réponse.

Je me suis lancé dans la création d’un module. J’ai suivi plusieurs pages très interessantes sur le wiki.
Cependant, j’ai toujours du mal à comprendre comment peut-on modifier/intervenir sur le code noyau de Magento, à partir d’un module.
Car mon module n’a pas pour but de créer de nouvelles vues/pages/tables, mais uniquement de compléter l’existant.

Bonne journée.
Merci d’avance.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Ronan Capitaine
Member
 
Total Posts:  36
Joined:  2008-12-10
 

Bonjour, mon module est quasiment terminé. Cependant il me reste un soucis par rapport au model.
Tout fonctionne sauf ça.

En fait, ce que je souhaite faire, c’est appliquer des modifications à Mage/CatalogRule/Model/Mysql4/Rule.php du noyau. Du coup j’ai créé un fichier Model/Mysql4/Rule.php dans mon module. J’ai ensuite étendu ma nouvelle classe à la classe existante dans le noyau :

class Nom_Module_CatalogRule_Mysql4_Model_Rule extends Mage_CatalogRule_Model_Mysql4_Rule
Et j’ai placé dans mon code XML, les lignes suivantes (entre les balises <global>) :
<models
            <
catalogrule
                <
rewrite
                    <
mysql4_rule>Nom_Module_Model_Mysql4_Rule</mysql4_rule
                </
rewrite
            </
catalogrule
</
models>
Le problème est que rien n’est pris en compte. Je peux mettre tout et n’importe quoi dans le fichier Rule.php de mon module, mais il n’y a aucun effet. D’ou m’a présence ici.

Merci d’avance pour votre aide.

 
Magento Community Magento Community
Magento Community
Magento Community
 
SeL_
Magento Team
 
Avatar
Total Posts:  1140
Joined:  2007-10-10
Paris, France
 

Une piste ici ?
http://www.magentocommerce.com/boards/viewthread/4122/

 
Magento Community Magento Community
Magento Community
Magento Community
 
Ronan Capitaine
Member
 
Total Posts:  36
Joined:  2008-12-10
 

Une piste en effet, mais j’utilise des rewrite, comme ici par exemple.

http://www.magentocommerce.com/boards/viewthread/4053/
http://www.magentocommerce.com/boards/viewthread/832/P75/

Sauf que chez moi ça ne fonctionne pas, et pourant j’ai tout respecté à la lettre prêt.

EDIT : J’ai trouvé la solution ici : http://www.magentocommerce.com/boards/viewthread/9119/

<models
            <
catalogrule_mysql4
                <
rewrite
                    <
rule>Nom_Module_Model_Mysql4_Rule</rule
                </
rewrite
            </
catalogrule_mysql4
        </
models>

Merci quand même. Bonne journée !

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top