Questions tagged «magento2»

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


1
Magento2:不同类型的composer.json文件
在Magento2中,我看到不同的供应商遵循以下给定的不同composer.json格式来命名其模块。 第一: "autoload": { "files": [ "registration.php" ], "psr-4": { "Amit\\SamplePage\\": "" } } 第二名: "extra": { "map": [ [ "*", "Amit/SamplePage" ] ] } 1.它们之间有什么区别,我应该遵循哪一个? 2. registration.php用于注册一个模块然后为什么composer.json所有模块都需要?

1
Magento2 DI编译花费太多时间
创建/更新新模块/主题后,我在Magento根安装目录中使用以下命令 php bin/magento setup:upgrade 这要求我运行编译,所以我使用 php bin/magento setup:di:compile 编译大约需要8分钟的时间。有没有办法加快编译过程?

3
为什么Magento 2强制URL为3个以上字符
如果您尝试使用hello-worldMagento 2中的名字创建一个模块,则会出现类似以下的错误。 Invalid XML in file /Users/alanstorm/Sites/magento-2-with-keys/magento2/app/code/Pulsestorm/HelloPestle/etc/frontend/routes.xml: Element 'route', attribute 'id': [facet 'pattern'] The value 'hello-world' is not accepted by the pattern '[A-Za-z0-9_]{3,}'. Magento似乎不希望URL头名中包含数字,字母或下划线以外的任何内容。它还会强制姓氏包含三个或更多字符。 数字,字母和下划线限制是有道理的,因为使用路由ID来创建布局句柄,而“ 特殊 ”字符可能会引起问题。但是,三个字符的限制令人困惑。 有人知道原因吗?
9 php  magento2  routing 

3
Magento 2:选择哪种扩展机制?
我们可以通过两种方式扩展控制器:使用首选项和使用插件。但是我不明白,哪一个是好的,以及偏好vs插件的优缺点。 <preference for="Magento\Checkout\Controller\Index\Index" type="mymodule\Helloworld\Controller\Index\Index" /> <type name="Magento\Catalog\Model\Product"> <plugin name="getname-test-module" type="mymodule\Helloworld\Model\Plugin\Product" sortOrder="10"/> </type>

2
Magento 2如何在管理系统配置中创建表格设置?
根据magento 1,我们从“ adminhtml / system_config_backend_serialized_array”扩展到创建一个像这样的表: 我的问题是:我们如何在magento 2中创建它? 编辑:最后,在@Marius帮助下:它是System => Configuration => General => Design => Design Theme中的User-Agent Exceptions字段。 我们可以通过查看该字段的代码“ Magento \ Config \ Block \ System \ Config \ Form \ Field \ Regexceptions”来创建一个新的表配置
9 magento2 




2
覆盖主题主题中的模板文件,通过JS(Knockout.js)加载
由于官方的Magento 2.0论坛没有任何帮助,因此我也将在此处发布我的问题。 我们正在基于Magento Blank主题构建自己的主题,并且我们希望对标头中的微型购物车下拉菜单进行2个小的更改。这些文件是通过JS(Knockout.js框架)加载的,但是将文件复制到同一文件夹(Name/name2/web/template/minicart/item/default.html)中我们自己的主题并对其进行编辑不会显示任何更改,因此我们怀疑这种情况下的覆盖行为有所不同。 有人可以指出我们正确的方向吗?谢谢!

3
如何通过Magento2中的模块覆盖模板
我正在创建一个模块,想要覆盖模板app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml。 是否可以在模块(不是主题)中进行 不幸的是,通过布局XML更改模块名称似乎并不容易,因为这是在https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Block中进行硬编码设置的/Adminhtml/Product/Edit/Tab/Options.php#L21

2
如何在magento 2中加载自定义模块js文件?
我已经为magento 2创建了横幅滑块模块。我已经使用以下方法调用了JS文件,并且该文件可以正常工作。在模块类中,我创建了以下函数 public function getBaseJs($fileName){ return $this->_storeManager->getStore()->getBaseUrl( \Magento\Framework\UrlInterface::URL_TYPE_MEDIA ).'bannerslider/js/'.$fileName; } 在bannerslider.phtml文件中按以下方式调用此函数。 <script type="text/javascript" src="<?php echo $this->getBaseJs('jquery-1.7.min.js') ?>"></script> <script type="text/javascript" src="<?php echo $this->getBaseJs('jquery.flexslider.js') ?>"></script> 但是,根据jQuery的依赖机制require.js我该怎么办呢?

1
Magento 2:创建具有不可变状态的数据对象?
整理另一个Magento 2中的评论 如果需要共享一些计算值,则将计算行为放在单独的对象中,并从需要该值的块中调用它。不建议使用注册表,因为它是全局可变状态,您永远不确定从那里会得到什么。 有没有办法在Magento 2中创建具有不变状态的对象?不建议使用注册表(Magento\Framework\Registry),因为它是全局可变的状态(大概是因为,尽管该register方法不允许您更改现有密钥,但是您可以取消设置然后重置该密钥)。 但是,Magento 2中的任何对象都存在相同的问题。如果要创建对象 namespace Pulsestorm\Helloworld\Model; use Magento\Framework\DataObject; class ViewVars extends DataObject { } 然后,自动构造函数依赖项注入可确保任何人都可以抓住该共享库。如果对象是未共享的,则视图/块无法抓取它。 从理论上讲,我们可以做类似的事情 namespace Pulsestorm\Helloworld\Model; class ViewVars { protected $_data=false; protected function setData($data) { if($_data) { throw new Exception("Immutable"); } $this->_data = $data; } public function getData() { return $this->_data; } } 但是,与为视图设置单个变量一样,这似乎是一项任务的很多工作。Magento 2中有更好的方法来创建我不知道的不可变数据对象吗?

3
在magento2中创建自定义模块显示致命错误
我正在magento 2中创建自定义模块,但无法正常工作。你能建议我哪里出问题了吗? 我的模块代码: app / etc / config.php: 'modules' => array ( 'Ramesh_Sample' => 1, ), app / code / Ramesh / Sample / etc / 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="Ramesh_Sample" schema_version="2.0.0"> </module> </config> app / code / Ramesh / Sample / etc / frontend / routes.xml …

2
Magento 2:最小作曲家文件
我看到无常互联网(例如Twitter)上浮现出一些东西,最近对Magento 2进行了一些更改,使得可以通过composer将模块安装到供应商目录中,并且Magento 2将看到您的模块而没有任何符号链接假装。 如果是这样,composer.json模块开发人员是否可以使用一个“最小”文件来与模块一起使用,以使Magento 2用户将其安装到系统中?

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.