2016-05-21 20 views
0

Ich habe eine Bedingung das Produkt als Produktattribut "Hot" gleich "Ja" auf meiner Tabelle "Product_label" definiert.Wie verwende ich die Katalogregel "Conditions_serialized", um das Produktattribut zu validieren?

Wie \ Magento \ CatalogRule \ Model \ Rule \ Condition ... verwenden, um $ Produkt mit meiner Bedingung zu validieren?

Die Bedingung ist Rekord, wie folgend

a:7:{s:4:"type";s:48:"Magento\CatalogRule\Model\Rule\Condition 
\Combine";s:9:"attribute";N;s:8:"operator";N;s:5:"value";s:1:"1";s:18:"is_value_ 
processed";N;s:10:"aggregator";s:3:"all";s:10:"conditions";a:1:{i:0;a:5: 
{s:4:"type";s:48:"Magento\CatalogRule\Model\Rule\Condition 
\Product";s:9:"attribute";s:7:"hkt_hot";s:8:"operator";s:2:"==";s:5:"value"; 
s:1:"1";s:18:"is_value_processed";b:0;}}} 

Dank Norman

Antwort

0

Ohne Codierung dieses Kontroll machen kann das System bereits an Ort und Stelle mit:

Ihre "heißen" Attributeigenschaft is_used_for_promo_rules muss auf 1 gesetzt werden.

Zusätzlich kann die Funktion Mage_Catalog_Model_Resource_Eav_Attribute::isAllowedForRuleCondition() folgende Voraussetzungen setzt:

Ein Attribut muß sichtbar sein (Attributeigenschaft is_visible muss gleich 1 sein). Die frontend_input Eigenschaft muss einer der folgenden Typen sein: 'text', 'multiselect', 'textarea', 'date', 'datetime', 'auswählen', 'boolean', 'price'.