製品属性を結合するためのベストプラクティス
製品リファレンスを含むカスタムテーブルがありますproduct_id。次に、バックエンドグリッドに製品情報(SKU、名前)を表示したいのですが、これを行うためのベストプラクティスが何なのかわかりません。 SKU次のように私の推測は次のとおりです。 $collection->join( 'catalog/product', 'product_id=`catalog/product`.entity_id', array('product_sku' => 'sku') ) ( 私のグリッドブロッククラスのメソッドからのコード_prepareCollection() ) しかし、製品名はどうですか?これは、catalog_product_entity_varcharにあります。私の理解では、独自のリソースモデルとコレクションがベースになってMage_Eav_Model_Entity_Collection_Abstractいる場合は、のようなメソッドを使用できるため、簡単に入手できますjoinAttribute。しかし、私のモデルは単純なテーブルに基づいており、そこから拡張されてMage_Core_Model_Resource_Db_Collection_Abstractおり、joinAttribute利用できる方法はありません。 この場合、製品名を取得する最良の方法は何ですか? あなたの時間と助けをありがとう:-) 更新: より正確には、リソースモデルとコレクションについて話していました。次のようないくつかの属性を持つ単純なフラットテーブルと一致します。 entity_id product_id created_at user_id 私の意図は、いくつかの統計を表示するバックエンドにグリッドを配置することです。 ProductSku Count(ProductSku) MAX(created_at) 私の知る限り、これを行うための最善の方法は、グリッドブロッククラスを使用することであり、実行するメソッドは_prepareCollection()です。 私の方法は次のようになります: protected function _prepareCollection() { // Get and set our collection for the grid $collection = Mage::getResourceModel($this->_getCollectionClass()); $collection ->join( 'catalog/product', 'product_id=`catalog/product`.entity_id', array('product_sku' => 'sku') …