タグ付けされた質問 「product-collection」

Magento製品コレクションに関する質問。

3
製品コレクションにメディア画像をロードするより高速な方法
TL; DR:製品全体をロードせずに製品画像/ギャラリーをロードするにはどうすればよいですか? 製品に画像をロードしたい。.phtmlで行うこと $_popularCollection = $this->getPopularCollection(); foreach ($_popularCollection as $_product): // the rest $mediaGallery = $_product->getMediaGalleryImages(); endforeach; //the rest Blockクラスで行うこと: public function getPopularCollection() { // http://magento.stackexchange.com/q/5838/3089 // no category if ( is_null( $this->getCategoryId() ) ) return false; /** @var Mage_Catalog_Model_Category $category */ $category = Mage::getModel('catalog/category')->load( (int)$this->getCategoryId() ); /** @var Mage_Catalog_Model_Resource_Product_Collection …

6
製品コレクションから最初のアイテムを取得する方法
カテゴリview.phtmlでカテゴリを取得してから製品コレクションを取得した場合、コードで使用するために$ _productに割り当てられたコレクションから最初の製品を取得するにはどうすればよいですか?ここに私が持っているものがあります: $_category = $this->getCurrentCategory(); $_collection = $_category->getProductCollection(); $_product = $_resource = $_product->getResource(); foreachを使用しようとしましたが、エラーが発生し続けました。

7
カテゴリIDから製品コレクションを取得する
カテゴリIDから製品のコレクションを取得しようとしています。私が試したいくつかのことがブロックにあります: $category = Mage::getModel('catalog/category')->load(123) ->getProductCollection(); そして $category = Mage::getModel('catalog/category')->load(123); $products = $category->getProductCollection()->addCategoryFilter($category) ->addAttributeToFilter('type_id', 'simple') ->addAttributeToSelect('*'); また、phtmlからそれをやってみました $oCatId = Mage::getModel('catalog/category')->load(769); $products->addCategoryFilter($oCatId); これは機能しませんが、エラーも表示されません。同じ質問のように思える別の投稿を見ました。Magento-特定のカテゴリーから製品を入手してください。助けてくれてありがとう!

1
Magento 2:ソート順と製品コレクションの制限
IDオーダーDESCで製品コレクションをソートし、製品コレクションに制限を追加する必要があります。ここに私のコードがあります: $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $productCollection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\CollectionFactory'); $collection = $productCollection->create() ->addAttributeToSelect('*') ->load();

4
Magento 2-list.phtmlによるカスタム製品コレクションのレンダリング
カテゴリページ(フロントエンド)の製品グリッドは、catalog_category_view.xmlのレイアウトを介してレンダリングされます。 カスタム製品コレクションがあるとしましょう ProductRepositoryInterface::getList($searchCriteria) method カスタムブロッククラスで、このコレクションをレンダリングしたい。レンダリングされた結果は、フロントエンドに製品グリッドとして表示される必要があります(カテゴリページと同様)。 これはどのように行うことができますか? 調査catalog_category_view.xmlすると、製品コレクションのレンダリングを担当する2つの重要な行があります。 <block class="Magento\Catalog\Block\Category\View" name="category.products" template="Magento_Catalog::category/products.phtml"> <block class="Magento\Catalog\Block\Product\ListProduct" name="category.products.list" as="product_list" template="Magento_Catalog::product/list.phtml"> これらのテンプレートファイルにカスタム製品コレクションを提供して、コレクションをレンダリングするにはどうすればよいですか? 私がこれについて間違っている場合、私を修正してください。 これは私のブロックコードがどのように見えるかです: <?php namespace Mod\Mod1\Block; use Magento\Framework\View\Element\Template; class Main extends Template { protected $_filterBuilder; protected $_filterGroupArray; protected $_filterGroupBuilder; protected $_searchCriteriaBuilder; protected $_productRepository; protected $_productFactory; protected $_list; public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Api\ProductRepositoryInterface $productRepository, …

1
Magento 2製品コレクションで製品のURLを取得するにはどうすればよいですか?
を使用して製品コレクションをロードできます [$objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection')] 私のphtmlファイルにありますが、そのコレクションには製品URLがありませんが、そのコレクションでも製品URLを取得する方法はありません。


4
カテゴリーに含まれない製品をフィルタリングする方法は?
これが私のコードです: $catIds = array(7,8,9); $collection = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect("*"); ->addAttributeToFilter('category_ids', array('nin' => $catIds)); カテゴリIDのリストに含まれていないすべての製品を取得したいのですが、コードで期待した結果が得られませんでした。道を教えてください、ありがとう。

2
Magento 2:複数のカテゴリで製品コレクションをフィルタリングする(Magento 2.1)
Magento 2.1.0を使用していますが、現在、複数のカテゴリで製品コレクションをフィルタリングするのが困難です。私はそれを機能させるために2つ以上の方法を使用しましたが、機能しません。 仮定: $catalog_ids = [618, 619, 620]; NULLを返します $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addCategoriesFilter(array('in' => $catalog_ids)); 例外を返します:無効な属性名:category_id $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addAttributeToFilter('category_id', array( 'finset' => $catalog_ids )); 構文エラーまたはアクセス違反を返します $productCollection = $this->productCollectionFactory->create() ->addAttributeToSelect('*') ->addAttributeToFilter('category_ids', array( 'finset' => $catalog_ids )); この作品を作成したり、この作品にリンクを張ったりする方法についてアドバイスはありますか?

2
子商品属性で商品コレクションをフィルター
子商品に割り当てられている2つの属性のような状況があります 1)person_height_from及び2)person_height_to有するドロップダウン・タイプ属性を 子商品にのみ割り当てられ、親商品には割り当てられません。 この属性でカテゴリページの製品コレクションをフィルタリングしたい お気に入り length = 175 $collection->addAttributeToFilter('person_height_from', array('lteq' => $length)); $collection->addAttributeToFilter('person_height_to', array('gteq' => $length)); これは、子商品が上記の値を割り当てるカテゴリページの親商品のみを取得することは可能ですか? あなたの助けが高く評価されます

2
製品コレクションの問題-価格データが正しくないか、在庫切れのアイテムが表示されない
現在のカテゴリに基づいて製品コレクションを取得しています。このコレクションには在庫のある商品と在庫のない商品の両方を含める必要があり、価格設定データを正しく表示する必要もあります。 私のストアは、製品の価格を税込みで格納するように構成されており、ストアフロントで価格を包括的および排他的の両方で表示します。 コレクションを取得するためのコードは次のとおりです。 $category = Mage::registry('current_category'); $_productCollection = Mage::getModel('catalog/product')->getCollection() ->addCategoryFilter($category) ->addAttributeToSelect(['sku', 'name', 'price']) ->addAttributeToFilter('status', 1) ->addAttributeToSort('jump_number', Varien_Data_Collection::SORT_ORDER_ASC); 上記の問題は、getPriceHtml()メソッドを使用して価格ブロックをロードすると、包括価格と排他価格の両方が包括価格として表示されることです。 調査の結果、addFinalPrice()コレクションにメソッドを追加すると、予想される価格設定(正しい独占価格と正しい包括価格)が得られることがわかりました。 ただし、このaddFinalPrice()方法を含めると、私のコレクションに在庫切れの商品が含まれなくなります。 正しい価格データを返し、コレクションに販売可能な商品と在庫切れの商品の両方を含める方法はありますか?

4
在庫切れ商品の商品コレクションを取得する方法-addInStockFilterToCollection()の反対?
カテゴリーの製品を2つのリストに表示する必要があります。1つは在庫ありアイテム、もう1つは在庫なしアイテムです。 私は使っています Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection() 在庫のあるアイテムの製品コレクションをフィルター処理しますが、在庫のないアイテムをフィルター処理する同等の方法がないようMage_CatalogInventory_Model_Stockです。前述のメソッドが定義されているモデルを確認しました。 在庫切れの商品を取得する次の例を見ました。 $collection->joinField( 'is_in_stock', 'cataloginventory/stock_item', 'is_in_stock', 'product_id=entity_id', '{{table}}.stock_id=1', 'left' ) ->addAttributeToFilter('is_in_stock', array('eq' => 0)); ...しかし、これはこれを達成するための唯一の方法または最良の方法ではありませんか?

4
シンプルな製品コレクションを読み込む(在庫ありと在庫なしの両方)
構成可能な製品のすべての「子」製品をコレクションにロードするときに問題が発生しました。 このような製品をロードするように: $simpleCollection = $configurable->getUsedProductCollection() ->addAttributeToSelect('*') ->addFilterByRequiredOptions(); foreach ($simpleCollection as $simple) { //$simple->getName(); } 在庫切れの子商品は無視されます。おそらくそれらは価格表にリストされていないため、結合されています。 getChildrenIdsによってすべての子IDをロードせずに、各単純な製品をloadでロードする別のオプションはありますか?

1
複数選択属性でFIND_IN_SETを使用したコレクションですが、一部には1つの値しかありません
複数選択属性からの結果を見つける製品コレクションを構築しています。 (コレクションにフィンセットを追加する関連コード-実際のID値を表示するように調整) $attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', 'measurement'); $value = array('finset' => array('237', '236', '235', '234', '233',)); $collection->addAttributeToFilter($attribute, $value); 結果のsql(visiblityフィルターが追加されたもの)は次のとおりです。 SELECT DISTINCT e . *, at_measurement.value AS measurement, at_visibility.value AS visibility FROM catalog_product_entity AS e INNER JOIN catalog_product_entity_varchar AS at_measurement ON (at_measurement.entity_id = e.entity_id) AND (at_measurement.attribute_id = '983') AND (at_measurement.store_id = 0) …

3
製品コレクションにフラットテーブルの代わりにEAVを使用させる
Magento 2でフラットカタログを一時的に無効にするにはどうすればよいですか?フロントエンドストアに関連付けられた製品コレクションがあり、EAVテーブルを介してそれをロードしたいと考えています。 コレクションがフラットテーブルを使用する必要があるかどうかをどのように判断するかを調べましたが、設定をどこにでも挿入する方法が見つかりませんでした。 Magento 1では、「フラットカタログが有効」の場合、読み込まれた構成値を変更していました。 Mage::app()->getStore($storeId)->setConfig('catalog/frontend/flat_catalog_product', 0); このようなグローバルな状態に頼る必要がありますか?もしそうなら、どうですか?それとももっとエレガントな方法がありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.