Questions tagged «core»

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。

4
调试Magento商店的基础知识
如何调试我的Magento商店 这个问题现在对我们来说并不太相关,但是如果Magento SE网站在5年前就已经存在,那可能就是我们的第一个问题。对于刚接触Magento或不熟悉它的人来说,了解调试的基础知识可能是排除问题根源的关键。尽管它与我们无关,但现在我们以一种自我解答的方式来避免出现这个问题。 帮助我的网站关闭! 我的设计有问题吗? 第三方模块有故障吗? 为什么看不到错误? 这些问题中的每一个都可以通过遵循标准化的调试方法来轻松回答,即使最基本的用户也可以完成。通过消除调试Magento商店的基础知识的过程。
81 extensions  core  debug  theme 

4
禁用模块-性能提高了吗?
这个问题分为2部分: 禁用核心模块是否会提高存储的整体性能,如果是,是否需要在admin中禁用(即禁用前端输出)还是通过config.xml禁用才能看到此性能提升。 如果要提高性能,则可以通过第1部分中回答的方法安全地禁用CE 1.7.0.2构建中的哪些模块。

3
is_salable来自哪里?
注意:如果您一直在通过PHP代码编辑产品,请在之后将它们重新编入管理员的索引中,并节省大量时间尝试找出为什么它们在下面没有像我一样显示出来... 我正在兜圈子,试图弄清楚is_salable产品的设置方式,从而弄清楚为什么我的产品现在展示。 我发现在代码中只有一个地方可以设置它: $salable = $this->isAvailable(); 但是我无法弄清楚如何或从何处获得此信息,因为当我遵循时,isAvailable它似乎只是循环回去...。 /app/code/core/Mage/Catalog/Model/Product.php public function isSalable() { Mage::dispatchEvent('catalog_product_is_salable_before', array( 'product' => $this )); $salable = $this->isAvailable(); $object = new Varien_Object(array( 'product' => $this, 'is_salable' => $salable )); Mage::dispatchEvent('catalog_product_is_salable_after', array( 'product' => $this, 'salable' => $object )); return $object->getIsSalable(); } 从这里跟随$ this-> isAvailable()之后,它会走几行: **public function isAvailable() …
27 catalog  core 

1
如何报告Magento错误并提交错误修正,以便有可能被关闭?
我在Magento 1.x中发现了一个错误,并且还找到了一个错误修复。我在哪里举报?Magento核心开发人员可以在哪里看到它?在Magento的bug跟踪系统似乎被忽略,并没有维护(例如见这个问题)。 您实际上可以签署《Magento贡献者协议》以提交补丁,但是我听说甚至经常拒绝这些补丁。那么还有其他方法可以将补丁添加到Magento内核中吗? 借助GitHub上的Magento 2,一切似乎都变得更好了。但我认为Magento 1错误修正也应该存在...
23 magento-1  core  bug 

4
重写lib文件的现代方法
这个问题是众所周知的:lib类是通过自动加载器专门加载的,除以下内容外,我们不能更改它们: 将它们完全复制到lib之前检查的codePool中。 安装PSR-0自动加载器,指定自动加载类映射,然后将文件完全复制到该文件夹​​结构中。[我目前的解决方案] 我处于困境中,因为我想潜在地触摸其中的许多文件-但是出于我的理智和商店的稳定性/可升级性的考虑,我不想复制整个库类。 现在显然可以找到解决该问题的方法,但是它们都有自己的一系列问题: 进行AOP路由,并使用基于PHP的库(如Go!)!AOP:最后我检查了这将要求Magento类由作曲家自动加载器加载,而不仅仅是可用的。Flyingmana 在这方面做过一些工作,但肯定还不能用于生产,我的需求更加迫切。我还想将其作为扩展发布,这将需要更多的作曲家设置。 进行AOP路由并使用本机PHP扩展:这可能是目前最有利的扩展,但它需要安装单独的扩展,更不用说它不适用于HHVM。 使用PHP的classkit和/或runkit:这是另一个本机PHP扩展,因此与上述问题相同。 修补呼叫站点以使用我自己的命名空间(\Danslo\Varien_X)版本,然后从原始(\Varien_X)扩展:有太多的呼叫站点需要修补,这将需要大量的重写。没有选择。 我自己说:应该有可能: 编写我自己的自动装带器。 将原始类复制到一个单独的文件夹({root_dir}/var/tmp),将其包装在中namespace \Magento { < original contents > }。 包括该文件。 包括我修改过的课程 OriginalClass extends Magento\OriginalClass {} 显而易见的缺点是:动态代码生成,正则表达式,加载重写类的开销很小。但是我几乎可以确定,当我只想触摸/添加约100行时,它将胜过复制约5000行代码。 我知道我要问很多,但是是否有一些现代且相对干净的东西可以帮助解决此问题?
21 overrides  core 

2
getConfig函数的运行时间
我测量了页面的运行时间,并注意到函数getBaseCurrencyCode()花费了一秒钟来运行。我所有的缓存均已启用。 我检查了功能,并看到以下命令: $this->getConfig(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE) 需要一秒钟。 但是当我使用 Mage::getConfig()->getNode(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE); 它需要毫秒 谁能告诉我为什么会发生这种时差? 有什么建议吗? 尽管我已经尝试过为您提供的建议解决方案,但是仍然存在巨大的时间空白。如果您可以尝试测量运行getConfig函数并将其发布到此处所需的时间,我将非常高兴。 我尝试通过用microtime函数包装此代码来测量此函数花费的时间 即在本地路径上:app\code\core\Mage\Core\Model 代替此行: $configValue = $this->getConfig(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE); 我将其替换为以下代码(与microtime相同的代码): $start = microtime(true); $configValue = $this->getConfig(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE); $time_elapsed_secs = microtime(true) - $start; echo "function: getConfig() took me: " . $time_elapsed_secs . " sec<br />"; die; 我的输出是: function: getConfig() took me: 1.1326711177826 sec 我很高兴看到您的输出和运行时。

1
消息块未使用主题模板
我正在尝试更改message块的phtml文件。我发现基本主题template/core/messages.phtml并将其复制到我的主题中并进行了更改。我的更改未显示,因此我尝试修改基本文件中的源,但更改仍未应用。 该模板文件在哪里或如何覆盖?

1
Magento Core中的“四人帮”设计模式
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 Magento的核心中使用了一些非常明显的模式,例如: 辛格尔顿 登记处 事件/观察者 厂 模型/视图/控制器 但是Magento中可能还有其他一些我不知道的东西,例如Actor,Decorator,Strategy模式。 是否有Magento中所有模式类型用法的参考列表,或如何在不需要不必要地复制Magento内置功能的第三方模块中实现?
10 programming  core 


4
在Magento 1.x中禁用核心扩展
我们有一家商店,销售实体可配置产品。我们使用自定义付款服务提供商(自己的扩展程序),并且我们的商店位于欧洲。 我们可以禁用哪些核心扩展而不会带来不良影响? 法师 Mage_Authorizenet 法师_可下载 Mage_Authorizenet Mage_GiftMessage Mage_GoogleCheckout 魔法门 法师投票 法师 Mage_Weee Phoenix_Moneybookers 谢谢!!
9 admin  core 
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.