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

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


2
レイヤードナビゲーションにコレクション属性が設定されていない-CMSページ
カスタム製品コレクション(「新しい」製品)を含むウィジェットを含むCMSページにレイヤードナビゲーションを追加しようとしています。このウィジェット内には、適切なパラメーターを指定してこのコレクションをフィルターする機能があります。このコレクションをレイヤードナビゲーションブロックに渡し、その属性を表示するにはどうすればよいですか? これは、CMSカスタムレイアウトXMLでレイヤードナビゲーションを呼び出す方法です。 <reference name="content"> <!-- Layered Navigation Block --> <block type="catalog/layer_view" name="catalog.leftnav" before="-" template="catalog/layer/view.phtml" > </block> </reference> これは、CMSページで製品コレクションを呼び出す方法です。 {{widget type="catalog/product_widget_new" display_type="new_products" show_pager="1" products_count="60" template="catalog/product/widget/new/content/new_grid.phtml"}} これは、ウィジェットブロックで製品コレクションを生成する方法です。 protected function _getProductCollection() { $todayStartOfDayDate = Mage::app()->getLocale()->date() ->setTime('00:00:00') ->toString(Varien_Date::DATETIME_INTERNAL_FORMAT); $todayEndOfDayDate = Mage::app()->getLocale()->date() ->setTime('23:59:59') ->toString(Varien_Date::DATETIME_INTERNAL_FORMAT); /** @var $collection Mage_Catalog_Model_Resource_Product_Collection */ $collection = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*')->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds()); $this->_addProductAttributesAndPrices($collection) ->addStoreFilter() ->addAttributeToFilter('news_from_date', …

1
コレクションのカスタムソート順
画像に示すように、「id」ではなく「sort_order」フィールドに基づいてコレクションをソートする必要があります。 $collection=Mage::getResourceModel('banners/manage_collection'); $collection->getSelect()->order('sort_order','DESC'); そして 私はこれを試しましたが、常にidフィールドに基づいてコレクションを返します。

3
UNIONを2つのコレクションに使用するにはどうすればよいですか?またはコレクションをマージしますか?(adminhtmlグリッドで使用)
まず、私がやろうとしていること: まだ注文をしていない顧客と、顧客アカウントをまだ持っていないニューレター購読者のコレクションを入手してください。 mysqlにはFULL JOINおよびFULL OUTER JOINが存在しないため、基本的なSQLクエリは次のとおりです。 SELECT `e`.`entity_id`, `e`.`group_id`, `e`.`email`, `salesOrder`.`entity_id` AS `order_id`, `salesRecurringProfile`.`profile_id`, `newsletterSubscriber`.`subscriber_status`, `newsletterSubscriber`.`subscriber_id`, `newsletterSubscriber`.`subscriber_email`, `newsletterSubscriber`.`customer_id` FROM `customer_entity` AS `e` LEFT JOIN `sales_flat_order` AS `salesOrder` ON e.entity_id = salesOrder.customer_id AND salesOrder.status = 'processing' LEFT JOIN `sales_recurring_profile` AS `salesRecurringProfile` ON e.entity_id = salesRecurringProfile.customer_id AND salesRecurringProfile.state = 'active' LEFT JOIN …
7 collection  grid  sql 

1
不正な画像を与える製品ループ
商品をループ処理していて、商品の画像でエラーが発生します。 私が使用しているコードは以下の通りです: <?php $collection = Mage::getModel('catalog/product')->getCollection(); $collection->addAttributeToFilter('status', 1); // 1=Enabled, 2=Disabled $obj = Mage::getModel('catalog/product'); ?> <?php $productCounter=1; ?> <?php foreach ($collection as $product): ?> <?php $_productInCollection = $obj->load($product->entity_id); ?> <li class="item text-center"> <a class="product-image" title="<?php echo $_productInCollection->getName(); ?>" href="<?php echo $_productInCollection->getProductUrl(); ?>"> <img src="<?php echo $this->helper('catalog/image')->init($_productInCollection, 'small_image')->resize(null, 152)->keepFrame(false); ?>" height="152" …

2
製品コレクション内の別の属性で製品コレクションをフィルタリング(例: 'attribX'、array( 'gt' => 'attrib-Y')
このような製品コレクションを使用する場合: $_productCollection= Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect('*') ->addAttributeToFilter('special_price', array('neq'=>'')); 別の属性に関連する属性でaddAttributeToFilterを使用することは可能ですか?例:価格よりも高いspecial_priceを次のようにフィルタリングできますか $_productCollection= Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect('*') ->addAttributeToFilter('special_price', array('gt'=>'price'));

5
複数のカテゴリで製品コレクションをフィルタリングしますか?
最近追加された製品を取得する次のコードスニペットがあります。 $_productCollection = Mage::getResourceModel('catalog/product_collection') ->addAttributeToSelect('*') ->addAttributeToFilter($preorderAttribute, array( 'eq' => Mage::getResourceModel('catalog/product') ->getAttribute($preorderAttribute) ->getSource() ->getOptionId($preorderValue) )) ->setVisibility(array(2,3,4)) ->setOrder('created_at', 'desc') ->setPage(1, 12); これをさらにカテゴリ(たとえば、ID 3および4のカテゴリ)でフィルタリングしたいと思います。コレクションでは、3および4カテゴリの製品のみが選択されています。どうすればこれを達成できますか? addAttributeToFilterカテゴリIDでフィルタリングするためにを使用しようとしましたが、それを行うにはさまざまな方法があり、機能していないか、単に致命的なエラーが発生するだけです。 非メンバー関数getBackend()の呼び出し ....今、私は途方に暮れています。 任意の助けいただければ幸いです。

3
ホームページの4つのランダムな製品
私が作成したTPLファイル内のPHPを使用して、ホームページで4つのランダムな製品を取得しようとしています。以下のコードでいくつかのフォーマットを使用しているので、foreachループで製品をフォーマットできるようにしたい... <div class="three columns"> <div class="product_container no_border"> <div class="product"> <a href="product_page.html"><img src="<?php echo $this->getSkinUrl('images/products/place_holder.jpg'); ?>" alt=" "></a> </div> <div class="product_title"> <a href="product_page.html">240 Serving Package</a> </div> <div class="price_hp">$454.99</div> <div class="free_shipping"> <div class="fs"></div> Free shipping for this package </div> <div class="shop_btn"> <a href="#">ADD TO CART</a> </div> </div> </div> 私はGoogleで見つかったいくつかのことを試しましたが、まだ運がありません。配列にカテゴリを設定することは、私がやろうとしていることには確かに有効ですが、カテゴリがランダムである場合にも有効です。 ありがとう!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.