Questions tagged «magento2»

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


2
Magento 2.2.x缓存自动禁用
首先,我在网络上的任何地方都找不到有关此类问题的任何信息。 我们有一个具有git集成的生产环境。我们仅通过git(git pull)将更改拉入。 问题是,在某些步骤之一中,Magento 缓存会自动禁用(检查cache:status时全为零)。如果通过编程器遗漏了该问题,则会导致问题,这是由于高流量对没有缓存的Magento的“重击”导致服务器过载。 也许有些人以前见过这个问题?我们不知道它什么时候发生或如何发生。 而且有点随机出现。 我们执行的通常步骤: 进行维护 git pull 作曲家安装(如果需要) 模块启用Vendor_ModuleName(如果需要) 设置:升级(如果需要) 清除静电 部署命令 清除缓存 清除操作缓存 禁用维护 我将不胜感激任何有助解决此类问题的宝贵建议。


1
Magento2目录产品选项
我们在默认的Magento2.1中工作时发现了这个问题。 在为产品创建自定义选项时,如果我第二次选择下拉字段,则微调框永远不会停止加载。 请找到以下屏幕截图: 我认为这是Magento2的核心错误,任何人都可以确认并建议如何解决它? 谢谢


2
如何在magento 2 Extension中检查代码重复?
我已经在Magento 2中创建了一个模块,现在我正尝试在Magento Marketplace上提交该模块。我的扩展程序已通过业务审查和技术审查,但是我面临质量检查审查的问题。 我收到了Magento市场的一封邮件,说我的扩展程序中有代码重复。以下是邮件示例。 代码质量问题:CPD:此扩展名包含重复的代码。 当我通过Marketplace帐户访问产品并检查技术报告时,发现以下内容。 检测到代码重复 该扩展包含直接从Magento代码库复制的代码。这直接违反了《 Magento开发人员协议》第3.1和9.1b条。 File: vendor/module/vendor-module-1.0.0.0/Block/Adminhtml/Module/Edit/Tab/Stores.php Line: 58 File: magento/module-checkout-agreements/magento-module-checkout-agreements-100.0.6.0/Block/Adminhtml/Agreement/Edit/Form.php Line: 122 File: magento/module-cms/magento-module-cms-100.0.7.0/Block/Adminhtml/Block/Edit/Form.php Line: 100 File: vendor/module/vendor-module-1.0.0.0/Block/Adminhtml/Module/Renderer/Files.php Line: 49 File: magento/framework/magento-framework-100.0.16.0/Data/Form/Element/Image.php Line: 86 File: vendor/module/vendor-module-1.0.0.0/Model/ResourceModel/AbstractCollection.php Line: 2 File: magento/module-cms/magento-module-cms-100.0.7.0/Model/ResourceModel/AbstractCollection.php Line: 6 有什么方法可以检查安装程序中的代码重复,以避免其他扩展名出现此问题?

1
是否在VCS中使用app / etc / config.php
我有一个与file有关的问题app/etc/config.php。 此文件在此处描述并定义: Magento base dir/app/etc/config.php,其中包含已安装的模块,主题和语言包的列表。 就像app/etc/modules/*在Magento 1中一样(通常我在VCS中有这些文件)。 但是在Magento 2中,建议不要在VCS中共享(Official .gitignore)。 我对VCS中的共享有一些疑问或用例,但我想了解,因为不建议在VCS中添加 生产环境(带有部署系统Capistrano/Deployer, etc) 你犯了一个新的部署......你需要启用新/ S模块/秒php bin/magento module:enable VendorName_NewModule前setup:upgrade 您如何处理这种情况? 您进行了新的部署,并且需要禁用(在任何情况下)新模块,php bin/magento module:disable VendorName_NewModule然后才能进行部署setup:upgrade 您如何处理这种情况? 当地环境 如果您不希望您的团队启用/禁用特定模块 您如何处理这种情况? 暂存环境 如果不共享,如何实现生产启用/禁用模块的相同配置 app/etc/config.php 您如何处理这种情况?您需要手动制作吗? 您的观点是什么或如何处理这些情况? 谢谢 * VCS:版本控制系统,例如:git,svn等


3
magento 2删除迷你购物车项目页面重新加载?
删除迷你购物车物品时如何重新加载页面? 我知道这是Magento 2错误。 在结帐购物车页面上,有很多产品在迷你购物车中以及当我删除时在结帐购物车页面中在迷你购物车中,内容未更新,我知道使用Ajax更新结帐购物车页面内容是一件大事,所以我在考虑何时客户从购物车中删除商品,我需要重新加载页面。

4
Magento 2班级位置和名称的最佳做法
在Magento 1我们习惯于将我们的类放在这些目录中 块 帮手 模型 资源资源 并使用简单的类名,名称中间不要包含任何大写字母。 如果我们看看一些情况 Magento 2 Core 帮手 地点: - \Foo\Bar\Helper 姓名: - *.php 例子: - \Magento\ImportExport\Helper\Report -\Magento\Cms\Helper\Wysiwyg\Images 观察者 地点: - \Foo\Bar\Observer 姓名: - *.php - *Observer.php 例子: - \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad -\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver 外挂程式 地点: - \Foo\Bar\Plugin 姓名: - *.php - *Plugin.php 例子: - \Magento\Catalog\Plugin\Block\Topmenu - \Magento\PageCache\Model\App\FrontController\BuiltinPlugin 资料来源:http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin …


2
在Magento 2中加载自定义模型的最佳方法
由于我很难找到正确的方法,因此您可以在下面找到我制定的最佳实践。享受,如果需要,请更正我的英语,如果我是我,我就说我错了。:) 编辑: ...,我发现我在某些方面是错误的。因此,在Raphael的答案帮助我了解了更多信息之后,我更新了原始帖子。多亏他! 以下使用的概念: 如果您熟悉以下概念,将更容易理解以下代码和说明: 注入依赖性(因为$this->variable代码中的每个变量都被注入) 服务合同和资料库 厂 内容: 只是为了获得更多的上下文,假设我们有一个可以正确构造的模块: 包含方法的块类CustomBlock getCustomModel($id), 此方法根据在参数中传递的ID返回CustomModel对象, CustomModel类型对应于 \Vendor\Module\Model\CustomModel 此模型带有其资源模型(在中\Vendor\Module\Model\ResourceModel\CustomModel) 及其存储库(在中\Vendor\Module\Model\CustomModelRepository)。 问题: 让所有内容加载CustomModel对象的最佳实践是什么? 由于不建议使用load()此方法,因此不能使用CustomModel对象中的。 优良作法是您必须使用CustomModel服务合同。服务合同是数据接口(例如CustomModelInterface)和服务接口(例如CustomModelRepositoryInterface)。所以我的方块看起来像这样: / ** @var SlideRepositoryInterface * / 受保护的$ slideRepository; / ** * CustomBlock构造函数 * ... * @param CustomModelRepositoryInterface $ customModelRepository * ... * / 公共功能__construct( ... CustomModelRepositoryInterface $ customModelRepository ... …

3
Magento 2 StoreManagerInterface已存在于编译中的上下文对象中
我的扩展程序中出现此错误。 PackageName \ ModuleName \ Block \ Enhanced 在类中的PackageName \ ModuleName \ Block \ Enhanced在/var/www/html/app/code/PackageName/ModuleName/Block/Enhanced.php \ Magento \ Store \ Model \ StoreManagerInterface中已经存在上下文对象 public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Catalog\Model\Session $catalogSession, \Magento\Store\Model\StoreManagerInterface $storeManager, array $data = [] ) { parent::__construct($context, $data); $this->_catalogSession = $catalogSession; $this->_storeManager = $storeManager; }

1
Magento 2中创建多对多关系的最佳实践方法是什么?
我环顾了核心,并看到了几个模型之间多对多关系的一些示例,但是我看不到对此的明确答案。 例如,假设我们创建了一个新模型,并且希望与现有产品表建立多对多关系。 因此,我们有了新的模型-库存商,我们这样创建了2个表,一个表用于存储库存商名称,另一个用于存储与产品的多对多关系。 安装程序类的截断版本: $table = $setup->getConnection() ->newTable($installer->getTable('stockist')) ->addColumn('stockist_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Stockist Id') ->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, ['nullable' => false], 'Stockist Name'); $table = $installer->getConnection() ->newTable($installer->getTable('stockist_product')) ->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], …

1
如何在Magento 2中选择关于运输方式的自定义阻止
使用参考链接如何在一页结帐中的以下运送方式中添加自定义阻止?,我可以在底部创建其他装运块。 但是,当选择运输方式时,我只想显示内容。当客户选择一种运输方式时,光标应转到其他信息和自定义字段,并且用户应输入数据。 当我们选择其他送货方式时,与此相关的信息(如果存在)应该会出现,否则div应该被隐藏。 与Magento 2中的http://excellencemagentoblog.com/blog/2011/11/07/magento-advanced-shipping-method-development/类似,我已经在Magento 1中实现了。

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.