Magento

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

8
学习成为Magento认证的开发人员
我一直在考虑学习成为Magento认证的开发人员。当我看着考察指导我看到了很多,我可以回答,但是,问题是,我真的不知道问题是什么,他们都期待我回答。 例如这个问题: 描述典型的Magento模块结构 他们希望我回答完整的模块结构(我走了多远?),他们希望我也回答config.xml的样子吗?我是否包括助手和/或资源集合? 有谁知道我在哪里可以找到更具体的指南,或者有人可以给我任何建议吗? 编辑 显然,这些问题都是多项选择,因此这会使事情变得容易得多。但是,我仍然对您可以找到/知道的资源感兴趣。

5
如何编写自定义扩展名?
因为我最近在免费和商业扩展方面遇到了很多问题,所以我决定问这个问题,并按照编写扩展时通常遵循的步骤回答。随时编辑答案或添加新答案。 在大多数情况下,安装扩展程序或主题时,我必须花费几个小时(有时更多,有时更少)才能使其在我需要的所有环境中正常工作: dev:通常localhost项目在子文件夹中 预生产和现场 即使来自大型扩展程序提供商的扩展程序,也发生了这种情况(至少应该保持匿名,直到我非常生气并在此处添加其名称为止)。 所以主要问题是..编写扩展程序以确保质量时应考虑哪些步骤?代码,并使技术人员和非技术人员更容易使用它,并使技术人员更容易更改它?

15
安全修补程序SUPEE-7405-可能的问题?
现在是另一个补丁发布日了,Magento 1.x的SUPEE-7405已经发布,修复列表很长:https ://magento.com/security/patches/supee-7405 在获得最后一个补丁的经验之后,我不得不再次问:应用补丁时可能会出现什么问题,我需要考虑什么? 许多XSS问题再次得到修复,因此我希望手动修补自定义主题。还要别的吗?是否存在向后不兼容的更改?

7
Magento 2:直接使用还是不使用ObjectManager?
好的,昨天我们就与Magento社区的其他人就直接使用ObjectManagerclass / templates进行了大讨论。 我已经知道了我们不应该直接使用ObjectManager的原因,并引用了Alan Kent的话: 有几个原因。该代码将起作用,但是最佳实践是不直接引用ObjectManager类。 因为我们这么说!;-)(更好地表示为一致的代码就是好的代码) 该代码将来可以与其他依赖项注入框架一起使用 测试更加容易 -您可以为所需的类传递模拟参数,而不必提供模拟ObjectManager 它使相关性更加清晰 -通过构造函数列表可以清楚地了解代码所依赖的内容,而不是将依赖项隐藏在代码中间 它鼓励程序员更好地考虑诸如封装和模块化的概念 -如果构造函数变大,也许这是代码需要重构的标志 根据我在StackExchange中看到的内容,很多人倾向于使用简单/简短/不推荐的解决方案,例如: <?php //Get Object Manager Instance $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); //Load product by product id $product = $objectManager->create('Magento\Catalog\Model\Product')->load($id); 而不是经历痛苦但推荐的过程: 创建一个模块 宣布偏好 注入依赖 声明一个公共方法 但是,随之而来的难题是,Magento 2核心文件经常直接调用ObjectManager。可以在此处找到一个简单的示例:https : //github.com/magento/magento2/blob/develop/app/code/Magento/GoogleOptimizer/Block/Adminhtml/Form.php#L57 所以这是我的问题: Magento为什么要做他们建议我们不要做的事情?这是否意味着在某些情况下我们应该ObjectManager直接使用Direct?如果是这样,那是什么情况? 直接使用ObjectManager有什么后果?

5
什么是最佳的Magento服务器设置?
目前,我们正在努力满足要求:在英国,Web服务器的首次响应必须在200毫秒之内。目前,在负载均衡器下的2个专用Web服务器和1个db服务器下,我们的速度为800毫秒。 目前该网站的客户少于5个,产品2个,类别4个,目前该网站尚无前端,它不包含样式和图像。 它也可以在Nginx和Varnish上运行。 谁能给我有关Web服务器设置的任何建议?为什么我们的进入缓慢?您有什么建议可以优化呢?需要更快地获得400%!


23
安全补丁SUPEE-9767-可能的问题?
Magento 1的新安全补丁已发布,解决了16个APPSEC问题:https ://magento.com/security/patches/supee-9767 CVSSv3严重性中的七个漏洞得分为8.0或更高,并且它们正在野外被利用,因此这是一个关键补丁。站点可以应用SUPEE-9767或更新到新版本的CE 1.9.3.3 / EE 1.14.3.3。 应用SUPEE-9767时需要注意哪些常见问题或陷阱? 更新2017-07-12: Magento发布了SUPEE-9767 V2和CE 1.9.3.4,以解决最初补丁中的许多问题。如果应用了V1,则应先还原然后再应用V2。如果尚未修补,请仅应用V2,此处提出的大多数问题都将无关紧要。

30
安全补丁SUPEE-8788-可能的问题?
最新的Magento 1安全补丁SUPEE-8788包含17个APPSEC更新,因此尽快应用它非常重要。另一方面,存在许多潜在的向后兼容性中断,并且鉴于过去一年的补丁程序历史,我不会粗心地应用它。 好消息是这一次不涉及任何前端模板,因此看起来我们不需要修补所有主题。 这仅适用于Magento 1.8或更高版本。 尽管如此:应用补丁后,您是否遇到任何兼容性问题或错误?

13
Magento core_url_rewrite表过大
我注意到大量报告称此表本身可能变得非常混乱,我正在运行一个站点,该站点具有约5000个SKU和约250个类别(单个存储),结果core_url_rewrite表超过600,000行,且表超过500MB,疯了 这可能会降低站点性能,并导致数据库非常庞大。我做了一些挖掘,发现了很多与此相关的帖子,最值得注意的是: Core_url_rewrite错误:在索引上生成的每个产品的大量重复URL Magento Commerce-错误跟踪-问题#29020 //自新板实施以来,这些链接已被删除 现在我知道该表可以被截断并重新建立索引,但这并不能解决问题,只是延长了问题再次发生的时间。 据我了解,部分问题是产品具有基于产品名称的相同url键,从而导致建立索引链接。 提到的解决方法是: app/code/core/Mage/Catalog/Model/Url.php 线上〜807: 更改: if ($product->getUrlKey() == '' && !empty($requestPath) && strpos($existingRequestPath, $requestPath) === 0 ) 至: if (!empty($requestPath) && strpos($existingRequestPath, $requestPath) === 0 ) 但这甚至不能完全解决问题。 我的问题如下: 如果您遇到此问题,您是否能够建立一种有效,逻辑和高效的算法,而无需反复“管理”该问题,而实际上是一劳永逸地解决问题? 非常感谢您对此有所了解。 顺便说一句:请帮个忙,检查一下您的桌子现在是什么样子,您可能会遇到此问题,并因此而对性能产生影响,我什至不知道-我不知道。 编辑:我已经与www.Nexcess.net(Magento铂金托管合作伙伴)进行了联系,他们已经确认,他们已经要求客户core_url_rewrite由于过于庞大而要求将桌子截断。 我最担心的是这可能会对SEO产生影响,这就是为什么我想要一个解决方案,而不是再次拖延问题的原因。 更新: Nexcess提到表中有重复的产品,实际上可能会实际上损害SEO。

13
Magento 2:替换为Mage :: log方法?
在Magento 1中,如果要将消息发送到日志,则可以在全局Mage类上使用静态方法。 Mage::log($message, Zend_Log::DEBUG, "my-log-file.log"); Magento 2中有等同功能吗?我已经在开发文档网站上搜索了Google,却没有发现任何明显的弹出信息。有此Inchoo文章,但这是从一年前开始的,此后发生了很大变化。 作为Magento 2模块开发人员,如果我想替换Magento 1中的以下代码 Mage::log($message, Zend_Log::DEBUG, "my-log-file.log"); 我需要做的最低限度是什么?
105 magento2  log  psr-logger 


17
Magento 1.9无法登录到管理面板!
我已经安装了Magento 1.9。一周运作良好。昨天突然,当我尝试登录到Magento管理面板时,我键入username和password,然后单击“登录”按钮,没有任何反应。页面刷新,仅此而已。没有错误或任何其他消息。 如果输入了错误的用户名或密码,则会显示错误。 在我搜索此问题之后,建议我在以下几行中发表评论: app \ code \ core \ Mage \ Core \ Model \ Session \ Abstract \ Varien.php /* to solve login issue */ /*if (!$cookieParams['httponly']) { unset($cookieParams['httponly']); if (!$cookieParams['secure']) { unset($cookieParams['secure']); if (!$cookieParams['domain']) { unset($cookieParams['domain']); } } } if (isset($cookieParams['domain'])) { $cookieParams['domain'] = $cookie->getDomain();*/ //I have …


11
如何在test.php脚本中引导Magento 2?
在magento 1中,我可以创建一个只需要实例化Mage_Core_Model_App该类的文件,然后可以添加“脏”代码以进行测试。 像这样的东西test.php: <?php //some settings error_reporting(E_ALL | E_STRICT); define('MAGENTO_ROOT', getcwd()); $mageFilename = MAGENTO_ROOT . '/app/Mage.php'; require_once $mageFilename; Mage::setIsDeveloperMode(true); ini_set('display_errors', 1); umask(0); //instantiate the app model Mage::app(); //my toy code in here. 然后,我可以test.php在浏览器中调用并查看我在做什么。 Magento 2我该如何做?
93 magento2  testing 

5
GIT和部署策略Magento2项目
在Magento 1中,我使用了一个部署工具,该工具提取了GIT存储库,运行了类似的命令modman deploy-all,并确保该var目录可写。对于.gitignore我来说,我使用的这个效果很好。 但是Magento 2呢? 哪种gitignore效果最好,如何部署项目以及在部署前和部署后应运行什么命令。期待听到社区的一些见解。 问题将持续存在一段时间
91 magento2 

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.