Magento

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


1
Magento 2.1:如何从块中删除参数和/或参数项?
我需要在捆绑产品页面中删除“从-到”价格。 那么问题是如何从参数中删除项目? 块创建于 magento2 / vendor / magento / module-bundle / view / base / layout / catalog_product_prices.xml <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd"> <referenceBlock name="render.product.prices"> <arguments> <argument name="bundle" xsi:type="array"> <item name="prices" xsi:type="array"> <item name="tier_price" xsi:type="array"> <item name="render_template" xsi:type="string">Magento_Bundle::product/price/tier_prices.phtml</item> </item> <!-- start: this should be removed --> <item name="final_price" xsi:type="array"> <item name="render_class" xsi:type="string">Magento\Bundle\Pricing\Render\FinalPriceBox</item> …

6
下拉菜单2.12中可配置的产品属性排序顺序
下拉菜单的顺序与属性本身的顺序不一致。在属性大小内,我已订购新生儿0-3个月 并在下拉菜单中显示为0-3 Newborn 刚好在其他尺寸的几天后添加了新生儿尺寸,0-3个月后才进口了新生儿简单产品。关于如何获取下拉列表以遵循属性中列表的顺序的任何建议?我已经清除了缓存并重新编制了索引。我读到@Khoa TruongDinh遇到了同样的问题,但没有找到解决问题的方法,因此重新发布。

4
安装SUPEE补丁8788后在管理面板中出现问题
我已经安装了Magento CE 1.9.2.4和补丁程序(5377、1533、4788等几乎所有补丁程序)。 该问题还揭示了在自定义部分中涉及图像上传的任何自定义模块中可能/肯定发生的问题,而不仅仅是核心的magento问题。 现在,我通过命令行安装了最新的补丁8788之后,无法打开自定义模块的“添加/编辑”页面,该页面在8788安装之前运行良好。 当我尝试打开模块的“添加新横幅”页面时,出现以下错误: 致命错误:在第57行的/home/site_user/public_html/app/code/community/My/Module/Block/Adminhtml/Banner/Add/Tab/Image.php中的非对象上,调用成员函数setUrl() 罪魁祸首如下: $this->getUploader()->getConfig()->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/image')) 另外,我在管理Catalog > Manage Products > Any product > Images部分看不到已经上传的产品图片。 下面是Mage_Adminhtml_Block_Media_Uploader被调用的核心类。 <?php /** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in …

2
system.xml中的自定义字段验证
我正在开发magento2插件(我对magento2有点陌生),但在验证system.xml中的字段时遇到了问题。我已经搜索了很长时间,没有找到答案。我添加了一个新字段,但是我需要使用正则表达式来验证此字段。我看到有一些默认验证,但我需要自定义验证,有什么办法可以向验证器添加新的验证规则吗?

1
Magento 2:用户登录有时需要在多商店设置中登录两次
我正在尝试使用共享购物车设置一个多商店。但是,用户登录有时不起作用。 该Store Switcher工作正常,但前端User Login的第二和第三个Store要求我按一下Sign In按钮两次登录。 我通过以下设置设置了多个商店: 多域(虚拟主机) 我正在使用一个Website。该站点将有三个Stores。域名将共享一个公共基本域。其他商店将使用子域。 我创建了magento2.com作为默认基本域。 我创建了store2.magento2.com作为第二家商店。 我创建了store3.magento2.com作为第三家商店。 根类别和测试产品 我创建了Store2 Root Category和Store3 Root Category。我还在每个根目录类别下创建了子类别。 我在每个子类别中添加了一个测试产品。 商店和景观 我没有在“ 主要网站商店”和“ 默认商店视图”上进行任何更改。 我为第二家商店创建了Store2和Store View 2。 我为第三家商店创建了Store3和Store View 3。 对于Store2,我将Store2设置为,Name并将Store2根目录类别选择为Root Category。 对于Store View 2,我选择Store2为Store,使用Store View 2为Name,并输入store2为Store Code。 对于3rd Store,我将Store3设置为,Name并将Store3根目录类别选择为Root Category。 对于Store View 3,我选择Store3为Store,使用Store View 3为Name,并输入store3作为Store Code。 URL和Cookie设置 在Configuration现在屏幕显示下5个选项Store View下拉菜单: Default Config …


1
在magento 2.1.1中为类别添加新的图像属性
我正在尝试创建一个新的属性作为类别的图像,我能够创建该属性,但是当我尝试上传图像时,无法保存。 这是我的代码: 工资/类别列表/安​​装/InstallData.php namespace Wage\Categorylist\Setup; use Magento\Framework\Module\Setup\Migration; use Magento\Framework\Setup\InstallDataInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\ModuleDataSetupInterface; use Magento\Catalog\Setup\CategorySetupFactory; class InstallData implements InstallDataInterface { public function __construct(CategorySetupFactory $categorySetupFactory) { $this->categorySetupFactory = $categorySetupFactory; } public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); $categorySetup = $this->categorySetupFactory->create(['setup' => $setup]); $entityTypeId = $categorySetup->getEntityTypeId(\Magento\Catalog\Model\Category::ENTITY); $attributeSetId = …

3
Magento 2:如何覆盖Luma主题主页
我在WAMP Windows 10上使用Magento 2 CE版本2.1.0 我已经提到了 Magento 2:如何覆盖微型购物车默认模板html文件? 想要覆盖Magento 2默认Luma主题 我有以下文件夹结构 magento2 |_ app |_ design |_ frontend |_ Custom |_Theme |_Magento_Theme |_templates |_root.phtml - Copy of Luma registration.php theme.xml app \ design \ frontend \ Custom \ Theme \ Magento_Theme \ registration.php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::THEME, 'frontend/Custom/Theme', __DIR__ ); app \ …


1
覆盖区域设置配置文件以自定义价格格式
为了可靠地更改价格格式(组和十进制符号)而不必重写几个类或为其编写插件,我需要重写en.xmlZend库中的。更改XML直接覆盖多个领域的一次,像list view,product view或knockoutJS。 供应商/magento/zendframework1/library/Zend/Locale/Data/en.xml 我试图通过主题覆盖它,但这似乎没有用。有任何想法吗?

1
使用Cm_RedisSession之后的会话锁定
我们使用Magento 1.9.2.4中的默认Cm_RedisSession模块切换到Redis作为会话存储。部署后,许多客户经历了非常长的页面加载时间(> 20-30秒)。对于Redis-Server,我们在Tideways中使用AWS ElastiCache(m3.large) (类似于Newrelic),在跟踪中看到了这个瓶颈: 在阅读了有关此问题的更多信息并查看了Cm_RedisSession日志后,我发现来自客户的会话已被锁定,并且经过更多研究后,由于会话锁定的改进,我决定将Cm_RedisSession升级到1.14。 使用最新版本,该问题已最小化,因为该锁定现在将在5秒后正确断开。但是仍然有5秒的加载时间。 我有两种理论。 一些请求死亡,因此没有任何session_close()调用,因此该锁将不会被释放: 我启用了每个日志(php-fpm,nginx和magento),并看着它们,直到该错误在Tideways中出现给客户,但在此特定时间范围内没有错误 多个脚本尝试读取/写入同一会话: 我创建了一个脚本,该脚本使用相同的前端cookie并行调用同一页面一百次,但是没有出现锁。 在这一点上,我不知道为什么会出现此锁,更糟糕的是,我无法在本地的Maschine或登台系统上重现它。 有没有人暗示或解决我该如何解决这个问题? 编辑:有人试图禁用Cm_RedisSession中的锁定吗? 编辑:与1.15相同的问题 编辑:大多数带锁的请求都是ajax请求。但是我还是无法复制它。 $ php5-fpm -v PHP 5.5.32-1+deb.sury.org~trusty+1 (fpm-fcgi) (built: Feb 5 2016 10:10:42) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by …

2
启用所有缓存后,Magento 2 Cookie不起作用
在观察者中,我正在这样设置一个cookie: $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $cookieManager = $objectManager->get('Magento\Framework\Stdlib\CookieManagerInterface'); $cookieManager->setPublicCookie('myvar', $myVar); Full page caching禁用时一切正常。但是,一旦启用它,就不会设置cookie。 我怎样才能解决这个问题?

1
如何添加特定于块的JS(和CSS)-_right_方式?
所以我花了几个小时在谷歌上搜索,阅读,学习等等,但是没有人(甚至没有艾伦·斯托姆!)都向我说明了这一点。似乎整个互联网都对将JS或CSS添加到Magento 2 的特定页面感兴趣,但是我正在寻找的是将JS / CSS添加到特定的块。 简而言之,这是我的问题: 将JS(以及CSS)添加到特定块的最佳方法是什么,以便如果该块存在于页面(*)上,则将加载JS / CSS,如果该块不存在,则没有CSS / JS? ? *这意味着任何块都可以通过layout.xml在页面/模板上,在我的模块的自定义页面上,通过块/页面的toHtml方法或最重要的是嵌入在所见即所得中的块来设置/产品说明/ CMS阻止/ CMS页面。 我已经读了很多Alan的精彩文章(再次对这个人表示敬意!),更不用说其他有关此方面的文章了,但是我感到每个人都想添加到页面,特定页面,而不是任何地方使用块。 我觉得我对各种技术很熟悉,但是我可能会在这里遗漏一些东西,所以我希望获得社区的共识,或者为所有前端开发人员提供一个路标,以期向全栈开发人员寻求帮助。类似的问题,并思考我的选择。 以前,在Magento 1中,我将查看块构造器,获取布局,获取头引用并在那里调用addJs / addCss,或者如果可能的话,使用layout.xml中的方法。这意味着将JS “添加”到块构造函数的资源列表中(在主题级别输出头块之前)。但这似乎不可能。 我已经阅读了有关添加JS / CSS的方法(这不是一个简单的“我怎么做?”,这是更简洁的“什么是正确的/ mag2方式?”),并且对这些方法很熟悉技术: /view/[area]/layout/[default/page_id].xml技术,使用<head></head>根元素 将Head块添加到我的模块中,并添加到head.additional中,其中包含有关是否加载了我的块的某种逻辑 使用\ Asset \ GroupedCollection和\ Asset \ Repository对象从页面/模板的构造者中注入(虽然这似乎没有与块结合),但是潜在地是加载顺序? 使用RequireJS并将requireJS配置应用到我的模块 我错过了什么吗? 有人认为正确的方法是使用RequireJS库,以及x-magento-init属性或仅require("my_module", function(){ ... })使用内联脚本中带有语法的脚本。但这对我来说似乎很笨拙?我将不得不设置脚本来加载脚本,被迫至少内联一些我的JS,但是似乎最直接的方式是说“这是我的块,现在需要我一些JS”,方法是将其弹出到我的phtml中。 但是,我真的很希望能够通过PHP做到这一点,作为一个后端/堆栈程序员,我理想地希望将JS封装起来,并且(理想情况下)允许我的前端团队根据需要编写它。简而言之,要照顾好加载(后端开发到前端开发“如果需要,可将phtml放到主题中,在主题中覆盖,同样是js文件,从属的libs和这里的块的css”)。 这表明__construct对资产系统具有注入依赖关系的方法。但是我无法使它正常工作,这似乎在Alan Storms的快速文章中得到了证实:Magento Quickies:Magento 2:以编程方式添加前端资产文件 注意标志“因此,创建带有前端资产的模块的想法不在了。” ...真可惜:( 谢谢你们花时间阅读和考虑。我期待着您的回音! PS>显然,这是StackExchange,所以我将答案标记为我要实现的最佳课程(阻止特定的资源加载),但是我将尽一切努力在所有内容的底部列出参考要么增加讨论范围,要么提出可靠的解决方案!

2
Magento 2:正确使用助手
我开始看到越来越多的人声明帮助程序类,以便能够在模板文件中使用以下内容: $this->helper('Path/To/Helper/Class')->customMethod(); 这种代码使人们避免不直接使用对象管理器的限制,但是我倾向于在那些帮助器中看到应该是块代码的代码。 所以这是我的问题: 在助手类中应该写些什么? 在哪些情况下在模板中使用辅助方法是否有意义?

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.