Questions tagged «magento2»

有关Magento 2的一般问题,不专门针对次要版本。使用此标签可以区分Magento1。如果您对特定版本有疑问,请改用相应的“ Magento-2.x”标签。Magento 2次要版本之间的功能可能有所不同。


6
Magento2如何以编程方式添加属性选项(不在设置中)
我尝试在导入器模块中添加有关尺寸和颜色属性的选项,但我不知道如何...: private function addOption($attributeCode, $value) { $ob = $this->_objectManager; /* @var $m \Magento\Eav\Model\Entity\Attribute\OptionManagement */ $m = $this->optionManagement; /* @var $option \Magento\Eav\Model\Entity\Attribute\Option */ $option = $this->attributeOption; $option->setLabel($value); $option->setValue($value); $m->add(\Magento\Catalog\Api\Data\ProductAttributeInterface::ENTITY_TYPE_CODE, $attributeCode, $option); 此报告错误(我将异常报告修改OptionMaganger.php为Exception-> message) 无法保存属性大小注意:未定义的索引:在第177行的/var/www/html/magento2/vendor/magento/module-swatches/Model/Plugin/EavAttribute.php中删除 OptionManagement和Option来自 _contstructor 使用OptionManagement,我可以检索现有项目,因此应该可以。 setLabel()并且setValue()是默认设置,但是我尝试了setData,加载选项实例并OptionManagement->getItems再次传递给add(...),但是错误仍然存​​在... 任何想法,如何在导入过程中附加EAV选项(样本?)?(不在模块设置中) 更新: 我可以添加选项的其他方式: $attributeCode = 137; /* on size, 90 on color ... …

3
将订单放置在magento2中后,将自定义数据从报价复制到订单和订单项目
我正在magento 2中构建具有自定义折扣的自定义模块。我正在尝试将折扣从报价,报价项目复制到订单和订单项目。在magento 1中,我这样声明config.xml: <fieldsets> <sales_convert_quote_address> <custom_discount_amount><to_order>*</to_order></custome_discount_amount> <base_custom_discount_amount><to_order>*</to_order></base_custome_discount_amount> </sales_convert_quote_address> <sales_convert_quote_item> <custome_discount_amount><to_order_item>*</to_order_item></custome_discount_amount> <base_custom_discount_amount><to_order_item>*</to_order_item></base_custom_discount_amount> </sales_convert_quote_item> </fieldsets> 并且我的自定义折扣金额已复制到表格中:sales_flat_order并按sales_flat_order_item预期进行。 在Magento 2中,我fieldset.xml使用以下代码创建了一个文件名: <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Object/etc/fieldset.xsd"> <scope id="global"> <fieldset id="sales_convert_quote_item"> <field name="custom_discount_amount"> <aspect name="to_order_item" /> </field> <field name="base_custom_discount_amount"> <aspect name="to_order_item" /> </field> </fieldset> <fieldset id="sales_convert_quote_address"> <field name="custom_discount_amount"> <aspect name="to_order" /> </field> <field name="base_custom_discount_amount"> <aspect name="to_order" /> </field> …

1
Magento 2新的网格系统模板
我一直在Merchant beta 1.0.0版本上浏览新的Magento后端网格系统。 首先,我必须说我印象深刻。 现在,您可以选择要查看的列,可以对其进行重新排序,还可以根据不一定具有列的属性进行过滤。 但这并不重要。 我不了解网格的渲染方式。 通过启用模板路径提示,我看到例如产品网格是通过模板app/code/Magento/Ui/view/base/ui_component/templates/listing/default.xhtml和via块呈现的Magento\Ui\Component\Listing。 我编辑了模板,看到了一些我不理解的东西。 <!-- ko template: getTemplate() --><!-- /ko --> 如果删除此行(并清除缓存,如果启用的话),我将不再有网格。 有人可以解释这ko是什么以及它如何工作吗? 我还在其他模板中找到了这种标记。 app/code/Magento/Ui/view/base/web/templates/grid/controls/columns.html例如。 [更新] 我刚刚找到了一个简单的搜索(duh!),它ko指向以下内容:http : //knockoutjs.com/,但我仍然需要一些说明。

2
Magento2工厂模式相对于Magento 1的优势
Magento 2对非注射剂使用工厂类。 例如产品类别:ProductFactory 例如客户类别:CustomerFactory 我不明白这里的工厂模式是什么? 因为对于与1个工厂类关联的每个类。我在想它有些重复。 为什么我们不应该创建抽象工厂CustomerFactory,ProductFactory等等? 并且例如: 我们可以通过AbstractFactory进行类型检查,而不是ProductFactory在ProductRepository类的构造函数。 因此我们可以避免ProductRepository和之间的紧密耦合ProductFactory 抽象工厂类: namespace Magento\Framework\ObjectManager\Code\Generator; /** * Abstract Factory class */ abstract class AbstractFactory { /** * Object Manager instance * * @var \Magento\Framework\ObjectManagerInterface */ protected $_objectManager = null; /** * Instance name to create * * @var string */ protected $_instanceName …

1
DI和Magento 2上的扩展块
每当我尝试扩展不是\ Magento \ Framework \ View \ Element \ Template的块时,我似乎都难以理解带有块的Magento 2依赖项注入,但最终会出错。 我想创建一个扩展Magento \ Theme \ Block \ Html \ Header \ Logo的非常基本的块类的块 -一切正常,直到我尝试在construct方法中进行依赖注入: <?php namespace Creare\Test\Block\Header; class Logo extends \Magento\Theme\Block\Html\Header\Logo { protected $_creareHelper; public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Creare\Seo\Helper\Data $creareHelper, array $data = [] ) { $this->_creareHelper = $creareHelper; parent::__construct($context, …




4
如何在Magento 2中使用ComponentRegistrar :: LIBRARY
在Magento 2中,我们有4种类型的组件,因为我一直在使用其中的三种,但是我的问题是如何使用const LIBRARY = 'library';组件。 顾名思义,这是包含第三方库的内容,但是任何人都可以给我一个有关如何包含库并在全局应用程序级别使用lib的示例。 /**#@+ * Different types of components */ const MODULE = 'module'; const LIBRARY = 'library'; const THEME = 'theme'; const LANGUAGE = 'language'; const LIBRARY = 'library';在Magento 2官方文档中找不到任何信息。注册您的组件。

1
您是否可以使用magento2实现零停机时间部署?
如果您有一个新模块,则需要运行 setup:upgrade那么我看不到可以使停机时间为零的方法。因为您需要升级数据库,所以它通常会降低10到20秒。还是我错过了什么? 即使您要部署到另一个文件夹,然后在生成所有文件时,也将实时环境符号链接到该文件夹​​,您仍然必须照顾数据库。



1
如何在Magento 2中管理config.php
首先,这可能是一个已经回答的问题,但是我没有找到关于该主题的任何信息。 这不是问题,而是有关config.php在Magento 2中管理文件的最佳方式的问题。 实际上,我们config.php没有版本化(默认情况下,在M2 .gitignore文件中),因此它不在我们的存储库中。问题是,当有人安装项目时,他没有此文件,但他已经有数据库,因此无法运行bin/magento setup:install ...以生成文件。 我们知道,只有在文件存在的情况下,才能向其中bin/magento setup:upgrade添加未声明的模块,config.php并且bin/magento module:enable可以添加模块,但是我们希望避免在每次部署或安装项目时启动该模块。 我的问题(S): -我们必须删除config.php从.gitignore和版本呢? -我们是否必须在存储库中第一次添加它,然后再添加它.gitignore? -管理此文件的最佳方法是什么?

5
将产品添加到购物车magento 2时弹出微型购物车
我正在使用magento 2.0.7,我想做的是在向其中添加产品时弹出购物车(右上方的ajax minicart购物车),基本上是触发它。我试图将“ showcart”类添加到“添加到购物车”按钮类中,但是如果这样做,则该按钮只是打开购物车,不再添加产品了。
15 magento2  cart  popup 

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.