Questions tagged «magento2»

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

2
如何在magento2的产品网格中添加大众化?
我需要根据设置添加群众活动。 如果在“配置”设置中将其设置为“是/启用”,则仅应将特定的质量作用添加到产品网格中。 我知道我可以使用ui_component product_listing.xml直接添加大规模行动。?但是情况是如何检查配置设置并基于此添加或删除呢?
8 magento2 

1
Magento_Ui / js / lib / knockout / extender / bound-nodes RequireJS模块做什么?
Magento 2中的Knockout.js引导程序模块通过define依赖项包含以下模块。 Magento_Ui/js/lib/knockout/extender/bound-nodes 从技术上讲,此模块为ko.applyBindings和ko.cleanNode方法创建包装器。这些包装器将某些视图模型和节点存放在私有javascript中WeakMap,然后返回一个注册表对象,使您可以访问WeakMap。 但是,尚不清楚此功能使最终用户程序员面对哪些功能。这里有人知道Magento_Ui/js/lib/knockout/extender/bound-nodes模块的实际用途吗?还是对Knockout.js内部结构很熟悉以解决问题?

1
通过插件无法在magento 2中保存自定义付款字段数据,
我正在尝试通过插件保存我的自定义字段数据,但是它不起作用。 插件类 namespace Vendor\Module\Model\Checkout; class PaymentInformationManagementPlugin { protected $paymentMethodManagement; public function __construct( \Magento\Quote\Model\QuoteFactory $quote, \Magento\Quote\Api\PaymentMethodManagementInterface $paymentMethodManagement ) { $this->paymentMethodManagement = $paymentMethodManagement; $this->quoteManagement = $quoteManagement; } public function beforeSavePaymentInformation( \Magento\Checkout\Model\PaymentInformationManagement $subject, $cartId, \Magento\Quote\Api\Data\PaymentInterface $paymentInformation ) { //$paymentInformation->getData('extension_attributes'); $extenstinAttributes = $paymentInformation->getExtensionAttributes(); $taxCode = $extenstinAttributes->getTaxCode(); $paymentInformation->setExtensionAttributes($taxCode); $this->paymentMethodManagement->set($cartId, $paymentInformation); return true; // var_dump($taxCode);exit; // …

2
Magento2正确顺序以刷新所有缓存/静态文件
我在Magento2中使用生成的类,预处理的文件和缓存进行开发时遇到了困难。 与Magento1相比,禁用所有缓存时似乎无法再有效开发,此外,我还需要查看缓存是否干扰了我构建的功能。 我的问题是,缓存和生成的文件太多了,我不确定它们之间是相互依赖的,我不确定应该以什么顺序刷新它们以便对我的所有开发情况有一个全新的了解。 有后端缓存区域 所有可以清除的标准缓存 目录图像缓存 静态文件缓存 CSS / JS缓存 然后是bash命令 php bin / magento缓存:干净 php bin / magento设置:静态内容:部署 然后有可以手动删除的文件夹 变/代 var /缓存 var / page_cache var / view_preprocessed pub / static 那有很多可能性,可能不是全部。因此,如果我部署大型更新,则代码更改,CSS / JS更改,模板更改 我应该执行以下哪些步骤来清洁所有物品?这些步骤必须按什么顺序执行?

2
使用不同的转义方法
我注意到类vendor/magento/framework/Escaper.php,其中包含一些(主要是)模板内部使用的有用的安全方法。其中一些很常见(escapeHtml()),但其中一些很难遇到。 什么方法escapeXssInUrl()真正起作用? 如果是方法escapeJsQuote()-在哪里可以找到这些引号?仅内联js模板? 当应使用所有方法时(实践示例),有人对它有清晰的解释吗? 是什么之间的差异escapeUrl()和escapeXssInUrl(),如果第二个赠款我们更好的安全性,为什么不总是使用第二个,而不是仅逃逸HTML字符? escapeQuote()应该用于例如在<div value="<?php echo[[here?] 这样的情况下回显某些变量$value?>"></div>?

3
如何从后端获取产品的前端URL?
我正在开发Magento 2的扩展。我需要从后端获取产品的前端URL。我尝试使用: //$storeManager->->setCurrentStore(2); $url = $product->setStoreId(2)->getProductUrl(); $url = $product->setStoreId(2)->getUrlInStore(); 但$url总是返回后端网址,例如http://<domain>/admin/catalog/product....。它们可能适用于Magento 1.x,但不适用于2.x。有什么办法获取前端网址?

1
Magento2从分阶段迁移到实时站点
我没有找到有关网站滚动开发的有效过程的太多信息,因此我可以在暂存中添加自定义模块和其他文件更改,然后使用magento2将这些更改推送到我的网站的实时副本中。 在Magento 1.9中,我们只是对文件进行了git克隆,并且git提取了准备用于实时站点的所有更改,如果我的暂存站点处于开发人员模式并且实时站点处于生产中,则这显然不适用于magento2。 涉及最少现场停机时间的最佳实践是什么?(如果可能的话,没有停机时间是最佳的)

3
获取会话对象的正确方法?
我现在正在为Magento 2编写一个付款模块,并根据“ Magento扩展质量程序编码标准” CodeSniffer (https://github.com/magento/marketplace-eqp)对其进行检查。 对于我的每个使用(checkout)会话对象的类,CodeSniffer都会发出以下警告: Session object MUST NOT be requested in constructor. It can only be passed as a method argument. 我通过以下方式获取会话对象: /** * Checkout session object * * @var \Magento\Checkout\Model\Session */ protected $checkoutSession; /** * Constructor * * @param \Magento\Checkout\Model\Session $checkoutSession * @return void */ public function …



1
uiElement对象中的“导入/导出”默认值是什么?
在许多Magento 2的UI元素视图模型构造函数中,defaults数组将具有imports或exports属性。 return Collection.extend({ defaults: { //... imports: { rows: '${ $.provider }:data.items' }, return Insert.extend({ defaults: { //... exports: { externalFiltersModifier: '${ $.externalProvider }:params.filters_modifier' }, 看一下uiElement模块的来源, #File: vendor/magento/module-ui/view/base/web/js/lib/core/element/element.js initLinks: function () { return this.setListeners(this.listens) .setLinks(this.links, 'imports') .setLinks(this.links, 'exports') .setLinks(this.exports, 'exports') .setLinks(this.imports, 'imports'); }, 实例化对象时,这些导入/导出似乎与对象之间的“链接”信息有关。但是,尚不清楚此链接如何工作(基于uiRegistry?)或类似字符串的语法是什么${ $.provider }:data.items。显然,这些字符串使用的模板文字扩展为类似 foo_bar:data.items 但是,最后一个字符串的含义仍然很神秘。 有谁知道这些对象的导入/导出属性如何工作?

2
如何在Magento2中创建模块时覆盖模板文件
我想覆盖: /opt/lampp/htdocs/magento_composer/vendor/magento/module-catalog/view/frontend/templates/product/view/addtocart.phtml 我已将其复制并粘贴到我的自定义模块中: /opt/lampp/htdocs/magento_composer/app/code/Hello/Custom/view/frontend/templates/product/view/addtocart.phtml 这是我的布局文件: <?xml version="1.0"?> <page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="product.info.addtocart" template="Hello_Custom::product/view/addtocart.phtml" after="alert.urls"> </referenceBlock> </body> </page> 在: /opt/lampp/htdocs/magento_composer/app/code/Hello/Custom/view/frontend/layout/catalog_product_view.xml module.xml: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd"> <module name="Hello_Custom" setup_version="1.0.0" schema_version="1.0.0"> </module> </config> 模块适用于简单的hello world,因此其注册正确... 问题出在模板路径提示文件中,该文件来自供应商..但它应该仅来自我的自定义模块(而不是来自主题)
8 magento2 



2
Magento 2的构造函数中大量的DI类被烦恼-有更好的方法吗?
这时,我很讨厌在我的模块中像下面一样编写类似的构造函数。 public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, /* ... */ \Foo\Bar\Model\Baz $baz, /* ... */ \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, array $data = [] ) { $this->registry = $registry; /* ... */ $this->baz = $baz; /* ... */ /* some awesome stuff */ } 在许多很多情况下,我在模块中都需要相同类的实例。 所以我在问自己,是否可以使用一个或两个提供必要类的中央帮助程序类而不是在每个构造函数中都定义它们,这是一种可接受的方法。 …

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.