Magento

Magento电子商务平台用户的问答

3
Magento 2-繁重的加载时间(太多js文件)
我目前正在研究Magento 2,我注意到所有页面的加载时间都非常长。 目前,我正在Xampp上运行,启用了生产模式,合并并缩小了HTML / js / CSS,禁用了Varnish,由于我的网络托管无法将其安装在服务器上,因此我将不使用它,因为它会干扰一些脚本。我使用一个自定义主题,其父主题是Magento 2的空白主题。更改设置后,我重新部署了静态文件并清空了缓存。 我主要担心的是,当我查看网络面板时,每次都会加载大量的js文件。例如,在我的类别页面上,加载了122个js文件,发现这些文件很多,总大小为955 ko。 我在服务器上对其进行了测试,没有进行合并和精简,但是如上所述,我认为问题在于文件的加载量,因为即使加载速度更快,它仍然太长,而在结帐过程中,甚至更糟。 我尝试了捆绑选项,但它会生成一个8MB的js文件,情况更糟。 我是否错过了一些东西,或者说js文件这么多,这在某种程度上正常吗?是否必须使用Varnish才能获得良好的性能,并且有替代方法吗? 我对Magento 2还是很陌生,所以如果您需要更多信息,我们将很乐意提供。

1
Magento2:如何在自定义模块中通过composer.json包含第三个pary模块
我创建了一个自定义模块,该模块依赖于第三方模块(tecnickcom / tcpdf),我在自定义模块composer.json文件中添加了此库 { "name": "packagename/mymodule", "description": "N/A", "require": { "php": "~5.5.0|~5.6.0", "magento/magento-composer-installer": "*", "tecnickcom/tcpdf":"*" }, "type": "magento2-module", "version": "2.0.0", "license": [ "GPL-3.0" ], "autoload": { "files": [ "registration.php" ], "psr-4": { "Packagename\\Mymodule\\": "" } } } 当我运行此composer.json文件时,在我的自定义模块中创建了create vendor文件夹,并下载了“ tecnickcom / tcpdf”库,但该文件应该位于供应商的根文件夹中。我怎么能做到这一点。

1
在Magento 1.9中,为什么订单电子邮件通过队列发送,而发票电子邮件直接发送?
在Magento 1.9中,为什么订单电子邮件通过队列发送,而发票电子邮件直接发送?我检查了订单和发票的代码,并order-sendNewOrderEmail使用了队列,同时invoice->sendEmail()完全跳过了队列。如果订单被自动批准,它将使订单电子邮件在发票电子邮件之后而不是之前发送!

2
获取静态内容文件夹的URL(用于后端)
在用于在管理面板中呈现按钮的块类中,如何获取静态内容文件夹的URL?具体来说,带有图片的文件夹的URL是? 例如,在Company_Helloworld模块中,自定义按钮的图像位于以下位置: 应用程序/代码/公司/ Helloworld / view / adminhtml / web / images / 测试1 我尝试了这个: $url = $this->getViewFileUrl('Company_Helloworld::images/icon.png'); 但是它尝试从Magento/backend主题中检索图像: http://example.com/pub/static/adminhtml/Magento/backend/zh_CN/Company_Helloworld/images/icon.png 当图像不存在时,图像实际上在模块的文件夹中: app / code / Company / Helloworld / view / adminhtml / web / images / icon.png 测试2 和这个: $url = $this->getViewFileUrl('images/icon.png'); 但它也尝试从Magento/backend主题中检索图像,这次没有模块上下文: http://example.com/pub/static/adminhtml/Magento/backend/zh_CN/images/icon.png 有什么方法可以将图像放置在模块中而不是后端主题中?

2
松节油+清漆,使用SSL时非常慢(30s +)
我是Turpentine和Varnish的新手,这是我的设置: nginx->清漆-> nginx-> php5-fpm 当我将Nginx设置为侦听端口80,然后不使用ssl转发到varnish(不是直接在80上运行varnish)时,Varnish可以正常工作,它可以正常工作,缓存的页面速度很快,第一次命中会稍微慢一些(第一次命中大约200ms,已缓存)网页点击大约7-20毫秒)。 然后我尝试用https包裹清漆,首先我用自签名证书对其进行了测试,第一次命中变得缓慢如地狱(30s +,是的,秒,不是ms),缓存命中仍然很快,为7-20ms。来自letsencrypt.org的证书,但无法解决该问题。 我不太了解这里发生了什么,也不知道如何找出导致它如此缓慢的原因。 编辑:在30秒钟的等待时间内,RAM或CPU使用率没有显着增加。 用于清漆的Nginx配置 upstream varnish{ server 127.0.0.1:8080; } server { server_name store1.mydomain.com store2.mydomain.com store3.mydomain.com; # I actually have 3 store front listen 80; location / { try_files $uri @proxy; } location @proxy{ proxy_pass http://varnish; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Real-IP $remote_addr; …

2
自定义UI库的放置位置
我需要创建自己的UI库(主要是.less文件,图像和.js),并将其用于多个自定义模块和主题。我以为只是将文件添加到位于下的Magento UI库中/lib/web。 但是首先,是否允许(并且这是一种好习惯)在中添加自定义文件/lib/web? 如果在其中添加自定义文件,是否应该在其中创建自己的文件夹(例如,使用公司名称),/lib/web/company以使我的所有自定义文件与Magento默认文件分开? 例如: lib/ ├── web/ │ ├── css/ │ │ ├── source/ │ ├── fonts/ │ ├── jquery/ │ ├── company/ │ │ ├── css/ │ │ │ ├── source/ │ │ ├── fonts/ │ │ ├── jquery/ 还是应该在每个默认文件夹中创建自定义文件夹?像这样: lib/ ├── web/ │ ├── css/ │ │ …

1
Magento2 ui_component-表单-图像文件输入字段
我目前正在尝试更深入地研究UI组件,但我有点卡在这里。 由于在这里发布所有代码会有点麻烦,因此我将发布一些相关的github链接。 有效的方法是上载图像并将文件名保存到数据库。 不起作用的是再次将文件加载到编辑表单页面上输入的文件中。 图像输入在此处定义:https : //github.com/davidverholen/magento2-teaser/blob/develop/view/adminhtml/ui_component/teaser_item_form.xml#L83 该课程目前是空的,我今天尝试了很多事情,但是看起来似乎没有什么希望,我甚至不确定我是否需要它:https : //github.com/davidverholen/magento2-teaser/blob/develop/Ui/Component/表格/元素/TeaserItemImage.php 表单的数据源在这里:https : //github.com/davidverholen/magento2-teaser/blob/develop/Model/TeaserItem/DataProvider.php (也尝试在此处加载image_url并将其用作字段索引) 对此也有一个文档,我可能对js太愚蠢,无法理解如何执行此操作:http : //devdocs.magento.com/guides/v2.0/ui-components/ui-form.html 有任何想法或已经做到这一点的人吗? 提前谢谢! 更新: 我在媒体组件(用于图像)中找到了这一点: vendor / magento / module-ui / view / base / web / js / form / element / media.js return Abstract.extend({ defaults: { links: { value: '' } }, …

4
Magento 2部署过程
当前,我们提交composer.lock到存储库,然后composer install --no-dev在生产服务器上运行。我认为这不是最好的方法,因为作曲家需要几分钟来生成所有文件,并且这样做是有风险的。 我想知道将在生产模式下运行所需的所有文件提交回购是否更好。 其他人如何使用magento 2管理部署过程?



4
Magento 2:覆盖块文件Magento \ ConfigurableProduct \ Block \ Product \ View \ Type \ Configurable.php
如何重写function getAllowProducts()从Magento\ConfigurableProduct\Block\Product\View\Type\Configurable.php在Magento 2。 我想覆盖上面的功能,但不更改功能,没有任何显示任何问题。日志文件中没有任何错误显示。 我将在这里分享我的代码, registration.php 文件, <?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Test_Configuration', __DIR__ ); 等文件夹, module.xml 代码是 <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Test_Configuration" setup_version="1.0.0"/> </config> 我在di.xml代码中有覆盖块 是 <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\ConfigurableProduct\Block\Product\View\Type\Configurable" type="Test\Configuration\Block\Outstock" /> </config> 阻止文件夹, Outstock.php文件, <?php namespace Test\Configuration\Block; class Outstock extends \Magento\ConfigurableProduct\Block\Product\View\Type\Configurable { public function getAllowProducts() …


1
Magento2:UI列表组件中的store_id
我正在开发一个Magento2扩展,该扩展具有使用UI列表组件生成的管理网格。网格可以很好地显示记录(博客项目列表)。该扩展允许保存特定商店视图的博客项目,从而将blog_id和store_id一起保存在单独的数据库表中。现在,我想做的是在带有博客项目的网格中显示一列,该列显示为每个博客项目选择的商店视图。 整个设置与CMS页面和cms_page_listing.xml非常相似。我的blog_listing.xml中有一个用于商店视图的列,如下所示: <column name="store_id" class="Magento\Store\Ui\Component\Listing\Column\Store"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="bodyTmpl" xsi:type="string">ui/grid/cells/html</item> <item name="sortable" xsi:type="boolean">false</item> <item name="label" xsi:type="string" translate="true">Store View</item> </item> </argument> </column> 加载网格时,显示以下错误:“ 注意:未定义的索引:第82行的.. \ vendor \ magento \ module-store \ Ui \ Component \ Listing \ Column \ Store.php中的store_id ” 显然,博客项目的默认集合中没有store_id,因为它是通过另一个具有实际store_id的表连接的。但是我的收藏看起来像这样,它应该在其中:app \ code \ vendor \ …

5
CSS和JavaScript的更改仅在部署静态内容后才适用
我从Magento网站安装了Magento 2。我已经通过以下方式激活了开发人员模式 {project directory}>php bin/magento setup:mode:set developer 然后,我安装了自定义主题,最后通过以下方式部署了静态内容: {project directory}>php bin/magento setup:static-content:deploy 我的问题是pub/static,每次应用css和javacript更改时,我都必须删除目录并部署静态内容。静态内容部署过程很慢,并且花费大量时间,非常令人沮丧。我开发了一些东西,必须部署才能使更改出现。即使是很小的变化。刷新缓存无济于事。任何帮助,将不胜感激。提前致谢。

3
运行setup:static-content:deploy时出现致命错误“允许的内存大小”
我正在尝试在WAMP服务器中设置Magento 2.0(社区),并且由于Windows环境中的符号链接问题而运行用于静态部署资产的命令时,我始终遇到以下错误: php bin/magento setup:static-content:deploy 致命错误:445行中的C:\ wamp \ www \ magento \ vendor \ oyejorge \ less.php \ lib \ Less \ Visitor \ processExtends.php中的134217728字节已用尽内存大小(尝试分配64字节) 我已经设置memory_limit为-1(无限制),但是没有任何更改。我不知道在这种情况下还要做什么,因为问题超出了我的PHP知识,并且将该值设置为无限制应该可以完成工作,除非我需要安装其他东西才能使此工作正常。有什么建议吗?任何解决方法?

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.