Questions tagged «product-attribute»

有关创建,管理和使用产品属性的问题

5
为什么我不能使用loadBySku()通过SKU加载产品?
概要 我想通过SKU加载产品,有很多文章,博客文章,堆栈溢出结果等。我只想知道-为什么通过SKU加载产品必须如此困难? // This method does not work (Of all, I expect this to work) $product = Mage::getModel('catalog/product')->loadBySku($sku); // These do not work either $product = Mage::getModel('catalog/product')->loadByAttribute($sku, 'sku'); $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku); // This does not work $product = Mage::getModel('catalog/product')->load($sku, 'sku'); 当然,我现在对Magento期望simple做的事情太多了(简单是Magento显然不熟悉的概念) // This works: $product = Mage::getModel('catalog/product'); $product->load($product->getIdBySku($sku));



2
Magento尝试在前端的事件观察器中保存产品时失败?
我有一个绑定到事件观察器的函数 要求之一是,当它遍历订单项数据时,如果某个产品属性为空,则发出请求以通过单独的模型获取特定数据(正常工作)。 问题代码基本上可以归结为 foreach ($order->getAllItems() as $key => $item) { /** @var Tantor_Catalog_Model_Product $productData */ $productData = $item->getProduct(); $_item = Mage::getModel('catalog/product')->load($productData->getId()); $_item->setNetsuiteItemIid('foo'); $_item->save(); } 但是Magento抛出了一个例外 2014-03-05T21:14:14+00:00 ERR (3): exception 'Exception' with message 'Warning: Invalid argument supplied for foreach() in /var/www/html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1180' in /var/www/html/app/code/core/Mage/Core/functions.php:245 Stack trace: #0 /var/www/html/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1180): mageCoreErrorHandler(2, …

3
Magento:更新产品属性的最快方法
我正在寻找质量属性更新的最快,最可靠的方法。下面是我知道的方法,但是我不知道应该使用哪种方法。 $store_id = 0; Mage::getSingleton('catalog/product_action')->updateAttributes( array($product_id), array('attribute_code' => $attribute_code), $store_id ); 要么 $product->setData($attribute_code, 1234); $product->getResource()->saveAttribute($product, $attribute_code);

4
获取选定的multiselect属性的值
采取以下“汽车”产品:大众高尔夫。 它具有multiselect属性,car_options其中包含以下可能的选项及其ID: 的Airco(ID = 123)中选择 无线电(ID = 124)中选择 蓝牙(id = 125) 导航(id = 126) 为此产品选择了Radio和Airco。如何获得这两个值(radio,airco)并显示它们?$ _product被给出。

2
如何从一个magento安装导出所有属性和属性集,然后导入到另一个安装?
我需要从当前网站(Enterprise Edition 1.12.0.0)导出所有产品属性和属性集,并将它们全部导入到新网站(CE 1.8)中。 我经历了这些: 将属性导入到新的magento安装中 n98-玛格伦 在magento中导出和导入属性 但是我无法弄清楚如何首先导出所有属性,因此我不能花钱进行此过程的任何扩展:(因为我的公司不会提供它。 有人可以指出正确的方向吗?

3
只读产品后端属性
我想创建一个只读属性,但看起来这是不可能的。 我试图传递给addAttribute()'disabled' =>true或'readonly' => true 没有任何成功。我发现了一些有关使用的建议,setLockedAttributes()但由于某种原因,它不起作用 参考: Varien_Data_Form_Element_Abstract::serialize($attributes = array(), $valueSeparator='=', $fieldSeparator=' ', $quote='"')

2
Magento 2获取所有没有产品ID的产品属性
我想检索所有可用的产品属性,然后将其转换为“我的选择选项”字段的名称和值。在Magento 1中,我可以这样实现: public function getMagentoAttributes() { $values[] = array( 'value' => '', 'label' => 'Pick Product Attribute' ); $categories = Mage::getResourceModel('catalog/product_attribute_collection')->getItems(); foreach ($categories as $category) { if ($category->getFrontendLabel() != '') { $label = $category->getFrontendLabel(); } else { $label = $category->getAttributecode(); } $values[] = array( 'value' => $category->getAttributecode(), 'label' => $label …

9
如何在任何magento模板中隐藏空属性?
我想在magento模板中隐藏自定义属性。我的magento版本是1.8.1 我们为产品添加了自定义属性,例如品牌,尺寸,产品类型等,但是有时我们没有在这些属性中添加值。magento在产品查看页面上显示No或N / A。 因此,我们要隐藏模板中为空或无值的属性。

1
产品列表属性过滤器查询
我_getProductCollection() 在类的方法中添加了一个过滤器,Mage_Catalog_Block_Product_List 如下所示。 protected function _getProductCollection() { ... $this->_productCollection = $layer->getProductCollection(); $this->_productCollection->getSelect()->joinInner( array('cpe' => 'catalog_product_entity'), 'e.entity_id = cpe.entity_id' ) ->where("cpe.type_id = 'simple'"); ... } 上面的代码从Magento 1.7版本开始运行良好。但是,每当我编写以下代码时, 找不到列:1054“ where子句”中的未知列“ e.type_id” 错误。 代码(不起作用)。 protected function _getProductCollection() { ... $this->_productCollection = $layer->getProductCollection(); $this->_productCollection ->addAttributeToSelect('type_id') ->addAttributeToFilter('type_id','simple'); ... } 现在的问题。 如果使用第一个工作代码,会对性能产生影响吗? 还有其他方法可以解决这个问题吗? 更新: 每当我应用以下代码并使用rwd主题时,都不会出现任何错误。但是每当我使用default主题时,都会出现以下错误, 码 …

1
Magento 2-使用产品属性的类别页面上的产品分类问题
我制作了产品属性,并将其分配给属性集,以便其显示在管理产品详细信息页面中。基于此产品属性,我在类别页面上对产品集合进行排序。 问题是,我将设置Catalog Input Type for Store Owner为Text field。我将必须为每个产品设置数值,以便基于此属性对产品集合进行排序。它从1-9正常工作,但是当我将计数增加到9以上(例如10、11等)时,它将破坏排序。可能是因为字段类型不是数字类型 任何帮助,经验和知识共享将不胜感激。

2
通过编程将“自定义”属性添加到“自定义”属性集中
嗨,有人可以帮我吗? 我创建了一个自定义属性集和一个自定义属性 $installer = $this; /* @var $installer Mage_Eav_Model_Entity_Setup */ $installer->startSetup(); //Create Attribute set with Based on Default attribute set //$installer->removeAttributeSet(Mage_Catalog_Model_Product::ENTITY, 'New Attr Set'); /* $skeletonID=$installer->getAttributeSetId('catalog_product','Default'); $entityTypeId = Mage::getModel('catalog/product') ->getResource() ->getEntityType() ->getId(); //product entity type $attributeSet = Mage::getModel('eav/entity_attribute_set') ->setEntityTypeId($entityTypeId) ->setAttributeSetName("New Attr Set"); $attributeSet->validate(); $attributeSet->save(); $attributeSet->initFromSkeleton($skeletonID)->save(); //Create attribute new_attr //$installer->removeAttribute('catalog_product', 'new_attr'); …

5
“是/否”下拉自定义产品属性的默认值
我使用以下脚本安装属性: $installer = $this; $installer->startSetup(); $installer->removeAttribute('catalog_product', 'customizableonly'); $installer->addAttribute('catalog_product', 'customizableonly', array( 'group' => 'General', 'input' => 'select', 'type' => 'int', 'label' => 'Customizable Only', 'source' => 'eav/entity_attribute_source_boolean', 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 'visible' => 1, 'required' => 0, 'visible_on_front' => 0, 'is_html_allowed_on_front' => 0, 'is_configurable' => 0, 'searchable' => 0, 'filterable' => 0, …

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); }

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.