2017-04-20 1 views
0

Ich arbeite an einem benutzerdefinierten Modul mit einer flachen Tabelle mit Produkt-sku drin. Ich möchte in einem Raster Sku und Name aus dem Katalog/Produkt und andere Informationen aus meiner eigenen Tabelle entnommen zeigen; in Grid.php ich habe:Verbinden Sie zwei Tabellen und setzen Sie Ergebnisse in Raster Magento 1.9.x

protected function _prepareCollection() 
     { 
      $collection = Mage::getModel('hf/hfdistr')->getCollection(); 

      $this->setCollection($collection); 

      return parent::_prepareCollection(); 
     } 

Wie kann mit meinem Tisch Zusatzinfo Produktnamen aus Katalog/Produkt nehmen und führen Sie sie? Jede Hilfe wird geschätzt. (Magento 1.9.3.2)

Antwort

0

Sie können sie kommen wie diese

$products = Mage::getSingleton('core/resource')->getTableName('catalog/product'); 
$collection = Mage::getModel('custom/model')->getCollection(); 
$collection->getSelect()->join(array('cp'=> $products), 'cp.sku = main_table.sku', array('cp.sku','cp.other_attribute_other','cp.other_attribute_to_select')); 

How to join collections in Magento? Nicht getestet! : D

+0

Danke für die Hilfe, aber ich konnte es nicht funktionieren; Insbesondere kann ich den Produktnamen nicht aus Katalog/Produkt erhalten ... Könnten Sie mir dabei helfen? Ich hätte gerne sku und Produktname aus Katalog/Produkt genommen und mit Produkt sku aus meiner Tabelle genommen und dann hinzugefügt und zeigte in Gitter mit a, b, c Details aus meiner Tabelle – armywil

+0

Können Sie zeigen, wie geht es dir es? –

+0

Das ist meine Funktion: geschützte Funktion _prepareCollection() { $ products = Mage :: getSingleton ('Kern/Ressource') -> getTableName ('Katalog/Produkt'); $ collection = Mage :: getModel ('hf/hfdistr') -> getCollection(); $ collection-> getSelect() -> join (Feld ('cp' => $ products), 'cp.sku = main_table.sku', Feld ('cp.sku', 'cp.name')); $ this-> setCollection ($ collection); return Elternteil :: _ prepareCollection(); } Wenn ich cp.sku nur arbeiten, wie erwartet, während, wenn ich cp.name hinzufügen eine Ausnahme gedruckt wird (Spalte Name nicht gefunden) ... Vielen Dank für Ihre Zeit ... – armywil

Verwandte Themen