Questions tagged «category»

有关Magento目录中产品类别的问题

6
如何从产品系列中获取第一项
在类别view.phtml上,如果我获得类别,然后获得产品集合,如何从分配给$ _product的集合中获得第一个产品以用于代码中?这是我所拥有的: $_category = $this->getCurrentCategory(); $_collection = $_category->getProductCollection(); $_product = $_resource = $_product->getResource(); 我尝试使用foreach,但始终出现错误。


2
如何在Magento 2分层导航中实现多类别过滤器
我正在为分层导航实现多个类别过滤器。我正在按我的要求获取结果,但是集合大小出错了,仍然与父类别集合大小相同。 还有其他方法可以实现此功能。 我修改了以下代码: public function apply(\Magento\Framework\App\RequestInterface $request) { $categoryId = $request->getParam($this->_requestVar) ?: $request->getParam('id'); if (empty($categoryId)) { return $this; } $this->dataProvider->setCategoryId($categoryId); $category = $this->dataProvider->getCategory(); **$this->getLayer()->getProductCollection()->addCategoryFilter($category);** if ($request->getParam('id') != $category->getId() && $this->dataProvider->isValid()) { $this->getLayer()->getState()->addFilter($this->_createItem($category->getName(), $categoryId)); } return $this; } 更换addCategoryFilter($category)用addCategoriesFilter('eq' => $categoriesArray); 但是,由于分层导航计数来自其他地方而不是产品集合。 想知道从哪里来。以及如何在其中应用多个类别过滤器?



1
Magento 2使用模态按钮添加类别树渲染器输入
我正在尝试使用uicomponent表单为我的自定义表单放置类别输入。 我可以创建下拉菜单,但是如何创建按钮并从中打开新的模式呢? 我可以使用uicomponent 创建按钮并从中打开模式吗?我想有一个按钮代替的新类别我想补充选择产品按钮并希望添加节目列表从产品选择在网格类别。 这是用于创建类别输入的xml <field name="parent"> <argument name="data" xsi:type="array"> <item name="options" xsi:type="object">Magento\Catalog\Ui\Component\Product\Form\Categories\Options</item> <item name="config" xsi:type="array"> <item name="label" xsi:type="string" translate="true">Parent Category</item> <item name="componentType" xsi:type="string">field</item> <item name="formElement" xsi:type="string">select</item> <item name="component" xsi:type="string">Magento_Catalog/js/components/new-category</item> <item name="elementTmpl" xsi:type="string">ui/grid/filters/elements/ui-select</item> <item name="dataScope" xsi:type="string">data.parent</item> <item name="filterOptions" xsi:type="boolean">true</item> <item name="showCheckbox" xsi:type="boolean">false</item> <item name="disableLabel" xsi:type="boolean">true</item> <item name="multiple" xsi:type="boolean">false</item> <item name="levelsVisibility" …



3
性能:在所有产品类型的产品列表list.phtml上添加库存库存水平
TL; DR,要求在类别产品列表页面上显示库存的库存水平,同时考虑到性能符合Magento框架的情况,同时减少查询/存储量。 在阅读Vinai Kopp关于预加载以实现可伸缩性的文章之后。 为了降低性能,在类别产品列表页面(list.phtml)上包含库存库存水平且没有额外的查询/负载的最佳方法是什么? 我知道一些方法: afterLoad()似乎可以很好地与media_gallery包含项一起使用,而无需其他查询,但是我没有成功实现与库存相同的方法。 $attributes = $_product->getTypeInstance(true)->getSetAttributes($_product); $media_gallery = $attributes['media_gallery']; $backend = $media_gallery->getBackend(); $backend->afterLoad($_product); 指示SQL以product_id例如键的方式与集合并行收集所需的数据。但是在框架中寻找更多的手段。 目前,我只是stock_item通过以下方式加载对象: $_product->load('stock_item')->getTotalQty(); 哪个可行,但我注意到添加了更多查询以获取集合中所有产品的库存总计。 ... __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) ... 奇怪的是,这有效。魔术发生在Mage_Eav_Model_Entity_Abstract-> load($ object,$ entityId,$ attributes)中。如果$ attributes为空,它将调用loadAllAttribute($ object)。因此$ product-> load('blah')将加载所有缺少的属性,包括'media_gallery'– …

4
创建类别页面,显示所有特价产品
基本上,我创建了一个“待售产品”类别,我想自动在目录中包含已应用特殊价格的所有产品(通过目录>管理产品)。我希望页面保留标准Magento类别页面包含的分层导航和排序功能。 对于大多数Magento用户来说,这似乎是有价值的东西,但令我惊讶的是,它没有包含在核心功能中。 我已经尝试了十多个Stack Exchange答案,博客文章和论坛,但到目前为止没有任何效果。有人为此提供程序化解决方案吗? ===编辑=== 基于下面评论中@pspahn的评论,我决定寻求一种实现类似功能的替代方法。话虽如此,如果您有兴趣追求这一行,@ sander-mangel介绍了一种似乎完全可行的方法。



3
找出产品所属的类别
我在后端打开了一个产品,但是当我切换到“类别”选项卡时,类别树已完全折叠。我将不得不扩展所有类别,以查看产品所属的类别。 如何快速(在后端)查看产品所属的类别?


3
在常规信息选项卡下添加额外的类别属性
我正在尝试向常规信息选项卡添加一个额外的类别属性,我尝试使用以下代码添加该属性, require_once("app/Mage.php"); Mage::app('default'); Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); $installer = new Mage_Eav_Model_Entity_Setup('core_setup'); $entityTypeId = $installer->getEntityTypeId('catalog_category'); $attributeSetId = $installer->getDefaultAttributeSetId($entityTypeId); $attributeGroupId = $installer->getDefaultAttributeGroupId($entityTypeId, $attributeSetId); $installer->addAttribute('catalog_category', 'nav_left', array( 'type' => 'tinyint', 'label' => 'Show in left navgigation', 'input' => 'boolean', 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 'visible' => true, 'required' => false, 'user_defined' => false, 'default' => 0 )); $installer->addAttributeToGroup( …

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.