Questions tagged «magento2»

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

2
magento如何获得可配置产品的关联产品最低价格?
默认情况下,在视图页面中magento显示关联产品的最低价格。 我需要显示关联产品的最高价格。任何人都知道逻辑驻留在哪里。如何自定义此行为。 更新: Magento \ ConfigurableProduct \ Pricing \ Price \ ConfigurablePriceResolver /** * @param \Magento\Framework\Pricing\SaleableInterface|\Magento\Catalog\Model\Product $product * @return float * @throws \Magento\Framework\Exception\LocalizedException */ public function resolvePrice(\Magento\Framework\Pricing\SaleableInterface $product) { $price = null; foreach ($this->configurable->getUsedProducts($product) as $subProduct) { $productPrice = $this->priceResolver->resolvePrice($subProduct); $price = $price ? min($price, $productPrice) : $productPrice; } if …


3
实现getExtensionAttributes()的正确方法
我想知道,实现可扩展EAV模型的正确方法是什么。 我在中看到Magento\Catalog\Model\Product该方法getExtensionAttributes()是这样实现的: public function getExtensionAttributes() { $extensionAttributes = $this->_getExtensionAttributes(); if (!$extensionAttributes) { return $this->extensionAttributesFactory->create('Magento\Catalog\Api\Data\ProductInterface'); } return $extensionAttributes; } 但是在其他情况下,例如客户或类别模型 public function getExtensionAttributes() { return $this->_getExtensionAttributes(); } 如果以前未设置extension_attributes键,则可能导致结果为NULL。 务实的是,我希望第一个。这样Magento\Framework\Api\ExtensionAttributesInterface,即使模型刚刚实例化,我也始终可以确保获得的实例。 但是,为什么在其他模块中不使用它呢?是否与我们在客户模块中看到的新的数据模型分离背道而驰?如果是这样,我们应该如何初始化扩展属性?

3
JS错误Magento 2
我一直在努力完成一些事情,并在整个周末内将其发布在网上,这有些破破烂烂,我也不知道为什么要这么做,所以我希望有人能帮助我。 我尝试将自定义jQuery添加到我的自定义主题中,并成功加载了jQuery并且该函数正在运行。然而!它无法正常运行。例如,Safari无法加载jQuery,并且我在控制台中不断出现这些错误: defaultCaptcha.js:29未捕获的TypeError:无法读取未定义身份验证的属性“验证码” -popup.js:26未捕获的TypeError:无法读取未定义的属性“自动完成”(匿名函数) 我以为这与我声明jQuery的方式有关,但是当情况并非如此时,我决定删除所有自定义JS,但仍然出现这些错误。我猜似乎有些东西要打破了。 我的自定义“主题”只是一个简单的登录页面,无非我的自定义订阅框。 什么会导致这些错误?

2
Magento 2 fieldset.xml; 将字段从报价复制到订单
我创建了一个自定义模型以根据报价创建订单;我正在使用fieldset.xml将报价定制代码复制到订单中。我已经创建了具有匹配字段的引号和顺序自定义列。下订单时,值存储在报价定制字段中,但不复制到订单中。以下是我的fieldset.xml <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:DataObject/etc/fieldset.xsd"> <scope id="global"> <!--quote convert to order--> <fieldset id="sales_convert_quote"> <field name="preorder_number"> <aspect name="to_order" /> </field> <field name="purchase_order_number"> <aspect name="to_order" /> </field> <field name="reference_number"> <aspect name="to_order" /> </field> </fieldset> <!--quote item convert to order item--> <fieldset id="quote_convert_item"> <field name="preorder_number"> <aspect name="to_order_item" /> </field> <field name="purchase_order_number"> <aspect name="to_order_item" /> …

1
Magento 2:如何通过XML在容器内添加文本
我试图在页脚中的“链接”列表之前呈现一行文本。创建模板文件来执行此操作似乎浪费了此任务的资源。据我了解,我可以Magento\Framework\View\Element\Text在布局中输出带有块的文本。 XML格式 <referenceContainer name="footer"> <container name="footer.column.about_us" htmlTag="div" htmlClass="column about-us" before="-"> <container name="column.about_us.label" htmlTag="div" htmlClass="label"> <block class="Magento\Framework\View\Element\Text" name="about_us.label"> <arguments> <argument name="data" xsi:type="array"> <item name="text" xsi:type="string">About Us</item> </argument> </arguments> </block> </container> <block class="Magento\Framework\View\Element\Html\Links" name="footer_links.about_us"> <arguments> <argument name="css_class" xsi:type="string">footer links</argument> </arguments> </block> </container> </referenceContainer> 前面的命令不会输出任何内容,我不确定是否不支持此功能,如果我做错了,还是有另一种更合适的方法来完成此操作。 明确地说,我目前看到的是: <div class="column about-us"> <ul class="footer links">...</ul> </div> …


5
使用代码嗅探器忽略未使用的参数
我在自定义扩展程序上运行具有EcgM2标准的codeniffer,并且收到警告 方法参数$context从不使用 用于InstallSchema.php文件。 如何使该警告消失? 我的方法如下所示(注意SuppressWarnings顶部): /** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { //my install script here that does not use the parameter $context }

1
当我们查看eavSetup时,哪些值可用于类型和输入?
为Magento 2创建安装脚本时,哪些类型的值可用于类型和输入部分eavSetup->addAttribute()?或者我可以在哪里找到答案? $eavSetup->addAttribute( \Magento\Catalog\Model\Product::ENTITY, 'some_attr', [ 'type' => '', 'backend' => '', 'frontend' => '', 'label' => 'Test Attribute', 'input' => '', 'class' => '', 'source' => '', 'global' => \Magento\Catalog\Model\Resource\Eav\Attribute::SCOPE_GLOBAL, 'visible' => true, 'required' => false, 'user_defined' => false, 'default' => 0, 'searchable' => false, 'filterable' => false, 'comparable' …

1
我如何在adminhtml中的基因敲除渲染后触发代码运行
更新:您可以直接访问视图模型。如果需要触发代码以在渲染后运行,请使用MutationObserver。只要有一个好的示例,我就会发布我的代码。 原始问题: 我们有很多电话打入订单。我正在研究一个模块,该模块会使用webapi / jsonp调用自动在admin->客户->从我们的CRM解决方案中创建数据。这样,magento中的数据不会创建我们已经存储在“主数据库”中的数据重复项。 我剩下要做的一项任务是添加客户的地址。乍一看,这似乎很简单,直到我意识到基因敲除+ magentojs如何在客户表单上呈现一切时,才使我无法捕获模板化元素。在以编程方式删除所有地址并创建新地址之后,我想花些时间来尝试捕获字段集(输入元素)。 如果您想知道为什么要这样做,我的代码的一部分会弹出一个提示,然后说:“嘿,这个人已经存在。您要使用它们吗?” 它将删除您已经输入的所有内容,并以正确的信息替换它。然后呼叫中心对其进行验证,即yadda yadda。 我将分享到目前为止的代码,但是不能正常工作。仅供参考,它扩展了Abstract以捕获“ onUpdate”事件。不要因为试图访问某个收藏夹项目中的收藏夹而责备我。我无法提出一种更好的方法来捕获onUpdate事件并仍然查看所有字段。 我也完全理解哪里出了问题,我只是不知道如何解决它。问题是我假设由.activate()调用生成的元素将在下面立即可用 document.getElementsByClassName('admin__fieldset') 这只是错误的逻辑。理想情况下,我希望能够拉出字段集内容而不必求助于该UI技巧,然后,一旦我完成所有设置,就将其渲染出来。 我不想诉诸jQuery黑客来监视dom更新。 // jsonService variable is available here because it is in the php template render. see // Stti/Customer/view/adminhtml/templates/javascriptinject.phtml define(['ko','jquery','underscore','originalAbstract','uiElement', 'uiCollection'], function(ko, $, _, Abstract, Element, Collection) { "use strict"; var theArray = { formFields: [], …


2
Magento 2:升级“元软件包”安装
前阵子,我通过composer meta-package安装了Magento 2 。这也称为集成器安装。 这似乎已经安装了Magento CE 2.0.1。有没有办法将此版本升级到最新的Magento CE 2.0.3?我意识到我可以更新composer.json2.0.1 "require": { "magento/product-community-edition": "2.0.1", 变成 "require": { "magento/product-community-edition": "2.0.3", 但是,那样会丢失诸如 app/etc/NonComposerComponentRegistration.php 以及对composer.json文件本身的任何更新。 是否可以更新随meta包安装的Magento 2的版本?还是这不是meta软件包的目的?

1
Magento 2系统配置问题
我访问了许多站点以查找此问题的解决方案。 但是创建后system.xml,acl.xmlMagento给我报告生成错误。 错误 a:4:{i:0; s:140:“注意:未定义的索引:/ usr / local / ampps / www / mgn2 / vendor / magento / module-config / Model / Config / Structure / Element / Iterator中的ID。第59行中的php“; i:1; s:6391:”#0 /usr/local/ampps/www/mgn2/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php(59) :Magento \ Framework \ App \ ErrorHandler-> handler(8,'未定义的索引...','/ usr / local / ampp ...',59,数组) 您能澄清这个问题吗? app / …

1
何时以及如何在view_preprocessed中生成phtml模板?
我看到了在var/view_preprocessed/html中从核心模块以及自定义模块生成的许多phtml文件。看起来这些都是带空格的已使用模板。 艾伦·肯特(Alan Kent)在“ 如何在Grunt中更新Magento 2 phtml文件”中写道?: 您无需“部署” PHTML文件。它们由布局文件中的块引用,并在服务器端进行处理。因此,“咕gr声”在这里不相关,并且静态内容部署同样不相关。 在分析静态内容部署和繁琐的工作流程时,我没有发现与模板相关的任何内容,因此我认为这仍然成立。 但是何时生成这些文件?那里到底发生了什么,为什么?

2
Magento 2中的pub目录有什么好处
也许我只是没有得到它,但是如果我的文件已经被缓存了,那么Magento 2中的pub目录的用途是什么?我唯一有根据的猜测是,可以通过拥有一组已知的主题文件来减轻回退机制的使用。 通过阅读文档,尽管我感到自己对动态,静态和缓存文件有很强的把握,但我对这个好处并不清楚。 据我了解,缓存只是资产的已定义的已知位置,这使我猜测pub目录是一种标准化文件位置的机制,以减少回退机制上使用的资源。
11 magento2 

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.