Questions tagged «attributes»

Magento实体属性

1
将产品列表的属性设置为“使用默认值”
我想将产品列表和商店视图列表的图像设置为“使用默认值”。我知道如何针对每种产品分别进行操作:setData(attributeName,false),因此我可以对我的产品列表进行循环。问题:真的太慢了​​。 $attrArray=array('thumbnail','small_image','image'); $products = array(170,171,172); $stores = array(17,18,19); foreach ($stores as $store_id) { foreach ($products as $product_id) { foreach ($attrArray as $attr) { $product = Mage::getModel('catalog/product') ->load($product_id)->setStoreId($store_id) ->setData($attr, false) ->save(); } } } 所以我尝试使用Mage :: getSingleton('catalog / product_action')-> updateAttributes($ products,$ attrArray,$ store_id); 而是应该执行相同的操作,但要覆盖一系列产品。它实际上做了些什么:我的所有图像现在都设置为“无图像”,但没有按预期设置为“使用默认值”。 $attrArray = array('thumbnail'=>false,'small_image'=>false,'image'=>false); $products = array(170,171,172); $stores …


4
Magento 2 API:按扩展属性过滤订单
我已分配的属性的扩展order items名为warehouse。 我可以在属性“ extension_attributes” 下看到此属性。 我需要根据此属性过滤订单。我找不到有关如何执行此操作的任何文档。 API响应片段示例: [items] => Array( [0] => Array( [extension_attributes] => Array( [warehouse] => MyWarehouse ) ) ) 以下过滤器会产生内部错误: searchCriteria[filter_groups][2][filters][0][field]=warehouse,searchCriteria[filter_groups][2][filters][0][value]=mywarehouse,searchCriteria[filter_groups][2][filters][0][condition_type]=eq 关于如何通过仓库属性过滤订单的任何建议API? -关于此问题的其他要点: 在这种情况下,如果我们关注Fooman博客。那么我们可以通过extension *属性过滤集合吗? 通过此扩展的收集过滤器属性应该运行得很快吗? 如果我们使用自定义db表保存此扩展属性表,那么如何过滤?它是否应该在magento前端和后端工作。 需要修改的地方以及需要添加哪个类的参考博客? 等待良好并就此点描述/简要回答?

1
Magento 2.2.0升级,不允许错误属性类型
我能够将Magento商店从2.1.6升级到2.2.0。后端工作得很好,但是我在前台遇到了一个例外。 异常消息显示:元素“块”,属性“类型”:不允许属性“类型”。 整个情况在GitHub的下一篇文章中进行了描述:https : //github.com/magento/magento2/issues/11839 我是Magento的新手。可以给我一个链接,该链接描述应该从哪里删除无效的type属性或其他属性,或者从哪里可以重构它?

2
Magento 2:-将选择属性添加到类别
我想将select / dropdown属性添加到类别并在后端显示它,以便商店所有者选择它。经过一番研究,我发现以下几点: 通过Setupscript创建属性 通过UI组件声明包括它 这就是我所做的: public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { /** @var $eavSetup \Magento\Eav\Setup\EavSetup */ $eavSetup = $this->eavSetupFactory->create(['setup' => $setup]); $eavSetup->addAttribute( \Magento\Catalog\Model\Category::ENTITY, 'attribute_code', [ 'type' => 'int', 'label' => 'Top Navigation CMS Block', 'input' => 'select', 'source' => 'Magento\Catalog\Model\Category\Attribute\Source\Page', 'required' => false, 'sort_order' => 10, 'global' => …

2
按子产品属性过滤产品集合
我有分配给子产品的2属性之类的情况 1)person_height_from和2)person_height_to具有DropDown类型属性 仅在子产品中分配,而在母产品中不分配, 我想使用此属性过滤类别页面中的产品集合 喜欢 length = 175 $collection->addAttributeToFilter('person_height_from', array('lteq' => $length)); $collection->addAttributeToFilter('person_height_to', array('gteq' => $length)); 这是否可能只获得类别产品中子产品分配高于值的那些父产品 您的帮助将不胜感激

6
下拉菜单2.12中可配置的产品属性排序顺序
下拉菜单的顺序与属性本身的顺序不一致。在属性大小内,我已订购新生儿0-3个月 并在下拉菜单中显示为0-3 Newborn 刚好在其他尺寸的几天后添加了新生儿尺寸,0-3个月后才进口了新生儿简单产品。关于如何获取下拉列表以遵循属性中列表的顺序的任何建议?我已经清除了缓存并重新编制了索引。我读到@Khoa TruongDinh遇到了同样的问题,但没有找到解决问题的方法,因此重新发布。

1
什么是检查Magento2中是否存在自定义属性的最佳方法
为谨慎起见,我想先检查自定义属性是否存在,然后再尝试以任何方式使用它。我需要检查所有属性集合,而不仅仅是产品集合。我的属性可能存在于客户,产品或我自己创建的自定义模型上。 在magento 1.x中,我将使用以下内容: $attr = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter('specialty')->getFirstItem(); if ($attr->getAttributeId() > 0) { Do some stuff....' 我找不到任何明确执行此类操作的内容


2
处理分组的产品属性
我正在建立新的Magento商店(这是我第一次在Magento工作)。 我希望为我的产品页面复制现有商店的外观,至少在布局方面: http://www.panamericantool.com/cobalt-drills/drill-stops.html http://www.panamericantool.com/screw-driver-bits/paint-cutters.html 我发现我需要使用分组产品和简单产品来创建自己想要的东西。 在上面的示例中,每个产品都有单独的属性,我假设这些是通过Magento中的不同属性集完成的。 但是,它们如何在主题中显示那些不同的表标题/值? 我知道我可以->getAttributeName()或->getAttribute('attribute_code')在grouped.phtml文件中执行此操作,但这会导致大量的操作if (->getAttributeName() != '')...,添加更多内容时需要更改模板。 我确定有一种获取所有属性并在它们上循环的方法,但是您如何区分说该meta_description属性(也由该$_product->getData()方法返回)和我想要在表中列出的属性呢? 我怎样才能取得类似于他们所拥有的东西? 我还担心商店的性能会在发布时提供5,000种产品,随着我们增加剩余库存,可能会增加到25k-30k。其中许多将需要不同的属性,但是我想我可以在属性集之间共享属性而不会出现太多性能问题? 更新: 我一直在处理这个问题,发现它可以获取所有产品属性,但是我仍然不知道在分组的产品表上显示某些值的简单方法吗? $attributes = Mage::getModel('catalog/product_attribute_api')->items($_product->getAttributeSetId()); foreach($attributes as $_attribute){ print_r($_attribute); }

4
为什么属性代码具有最大长度?
尝试创建属性时,我发现属性代码的最大长度为30个字符。事实证明,这实际上并不是某种真正的限制-它是一个完全任意的值,由 Mage_Eav_Model_Entity_Attribute::ATTRIBUTE_CODE_MAX_LENGTH. 因此,既然如此,为什么会有限制呢?以及为什么默认值为30,而不是实例255(数据库列的实际限制)? PS。如果有人可以为这个问题想到更好的标签,请更新它们。

1
删除类别属性
我使用一个模块将2个类别属性插入mysql4-install-0.1.0.php到sql文件夹中的文件中: $installer = $this; $installer->startSetup(); $installer->addAttribute('catalog_category', 'short_description', array( 'type' => 'text', 'label' => 'Short Description', 'input' => 'textarea', 'group' => 'General', 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 'visible' => true, 'required' => false )); $installer->addAttribute('catalog_category', 'static_block', array( 'type' => 'text', 'label' => 'Brand', 'input' => 'text', 'group' => 'General', 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 'visible' …

2
集合-过滤多个多选属性值
那不是错字。 我知道我需要使用'finset'来过滤我的多选属性;但是,我试图一次过滤多个值并得到: Incorrect parameter count in the call to native function 'FIND_IN_SET。 这是一些示例代码: foreach ($options as $option) { // $option[0] contains an attribute ID as a string $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($option[0]); if ($attribute->getFrontendInput() == 'multiselect') { $collection->addAttributeToFilter($attribute->getAttributeCode(), array('finset' => $option[1])); } else { $collection->addAttributeToFilter($attribute->getAttributeCode(), array('in' => $option[1])); } } 我在前端有一组字段,每个字段对应一个特定的属性,并包含每个属性值的复选框。根据这些提交的内容,集合应过滤掉已选择的内容。 除了我尝试同时过滤两个多选选项的单一情况外,其他所有功能都工作正常。如果我仅选择其中之一,则搜索将正常进行。如果选择两个或多个,则会出现上述MySQL错误。 …

6
现有属性代码的is_required更新
我正在考虑将is_required数据更新为现有“区域”属性代码的“ 1”。 select * From eav_attribute where attribute_id = '28' 但是,我想知道这里的做法是什么。是否只是创建SQL语句并更新安装脚本中的特定记录就可以了?也许有更好的方法。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.