2010-03-11 4 views
1

Je voudrais réécrire la collection qui est retournée par Mage::getResourceModel('sales/order_collection');Comment réécrire la collection?

Mon but est de réécrire cette ressource afin que je puisse filtrer la collection pour un magasin particulier.

Des idées sur la façon de le faire? J'ai essayé de réécrire directement la collection du module ventes/commande mais sans succès. Je suis en mesure de réécrire les ventes/ordre lui-même, mais pas la collecte, parce que quand j'appelle getCollection() retourne

Fatal error: Call to undefined method Mage_Sales_Model_Mysql4_Order::getCollection()

Répondre

2

j'ai pu réécrire en ajoutant les lignes suivantes à la config.xml

<global> 
<!-- --> 
<models> 
    <sales_mysql4> 
      <rewrite> 
<order_collection>Company_ModelName_Model_Mysql4_Order_Collection</order_collection> 
      </rewrite> 
    </sales_mysql4> 
</models> 
<!-- --> 
</global> 

Puis ajouter la classe Collection.php dans le modèle/mysql4/dossier de commande qui étend Mage_Sales_Model_Mysql4_Order_Collection

Même si cela l'emporte sur la classe de collecte de commande donne une erreur (appel à un membre fu nction joinAttribute() sur un non-objet) lors de l'exécution du code suivant: Mage :: getResourceModel ('sales/order_collection') -> addAttributeToSelect ('*') -> joinAttribute ('nom_de_la facturation', 'adresse_de_recommande/prénom', ' billing_address_id ', null,' left ');

Il ne donne pas d'erreur si vous réorganisez la ligne ci-dessus dans les 3 lignes suivantes:

$ collection = Mage :: getResourceModel ('ventes/order_collection'); $ collection-> addAttributeToSelect ('*'); $ Collection-> joinAttribute ('nom_d'accès_financier', 'adresse_d'ordre/prénom', 'adresse_adresse_de_facturation', null, 'gauche'); Je pense que c'est un bug dans le Magento. Ce que tu penses?

Merci Margots

+0

Ce n'est pas un bug ... Quand j'écrasent la méthode addAttributeToSelect() i appelé le parent :: addAttributeToSelect() mais jamais retourné elle. Donc, corrigé cela en ajoutant 'return' devant parent :: addAttributeToSelect() – latvian