Profesyonel özel öznitelik değeri olan ürünleri Almak
Blok kodunu kullanarak programlama yoluyla belirli bir değere sahip bir öznitelik ürünlerin bir listesini almak için çalışıyorum.
Alternatif olarak bu mümkün değil nasıl bir bütün ürünler o zaman onları sadece belirli bir niteliği olan ürünler listesi için filtre almak mı? Eğer
Nasıl benim ürün alt maç için bir arama standart boolean filtreleri AND
OR
kullanarak gerçekleştirmek istiyorsunuz?
CEVAP
Hemen hemen tüm Profesyonel Modeller bir Model birden çok örneği almak için kullanılan karşılık gelen bir Koleksiyon nesnesi.
Ürün koleksiyonu oluşturmak için aşağıdakileri yapın
$collection = Mage::getModel('catalog/product')->getCollection();
Ürünler Profesyonel etkin değeri tarzı bir Model, iade etmek istediğiniz herhangi bir ek özellikler eklemek gerekir.
$collection = Mage::getModel('catalog/product')->getCollection();
//fetch name and orig_price into data
$collection->addAttributeToSelect('name');
$collection->addAttributeToSelect('orig_price');
Koleksiyon üzerinde filtre ayarı için birden çok sözdizimi var. Ben hep aşağıda ayrıntılı kullanıyorum ama filtreleme yöntemleri kullanılabilir ek yollar için Profesyonel kaynağını incelemek isteyebilirsiniz.
Aşağıdaki değerler aralığına göre filtre uygulamak için nasıl (büyüktür VE küçüktür) gösterir
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('name');
$collection->addAttributeToSelect('orig_price');
//filter for products whose orig_price is greater than (gt) 100
$collection->addFieldToFilter(array(
array('attribute'=>'orig_price','gt'=>'100'),
));
//AND filter for products whose orig_price is less than (lt) 130
$collection->addFieldToFilter(array(
array('attribute'=>'orig_price','lt'=>'130'),
));
Bu isimde bir filtre olsa bir şey YA da başka bir eşittir.
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('name');
$collection->addAttributeToSelect('orig_price');
//filter for products who name is equal (eq) to Widget A, or equal (eq) to Widget B
$collection->addFieldToFilter(array(
array('attribute'=>'name','eq'=>'Widget A'),
array('attribute'=>'name','eq'=>'Widget B'),
));
Desteklenen kısa koşulların tam listesi (eq,lt, vb.) lib/Varien/Data/Collection/Db.php
. _getConditionSql
yöntem bulunabilir
Son olarak, tüm Profesyonel koleksiyonları (temel toplama sınıf yineleyici arayüzleri üzerinde uygular) yinelenen olabilir. Bu filtreler ayarladığınızda ürün kapacaksın.
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('name');
$collection->addAttributeToSelect('orig_price');
//filter for products who name is equal (eq) to Widget A, or equal (eq) to Widget B
$collection->addFieldToFilter(array(
array('name'=>'orig_price','eq'=>'Widget A'),
array('name'=>'orig_price','eq'=>'Widget B'),
));
foreach ($collection as $product) {
//var_dump($product);
var_dump($product->getData());
}
Profesyonel Ürün Öznitelik Değeri Elde...
bir öğe veri-öznitelik değeri için bir...
Nasıl MAX(Sütun değeri), SQL başka bir...
SQL Sütun Max Değeri olan satırları Se...
Python “” derslerinde değişkenleri?öze...