与新版本的Magento,很多问题已经飞来飞去的办公室。

我的一个最大的问题是第三方的整合和兼容的最新版本。

一对夫妇的事情

  1. 不会升级通常休息的第三方模块?

  2. 我们应该考虑的升级之后释放,或者我们应该等到我们第三方的模块已经被验证工作最新版本吗?

  3. 不升级的通常顺利,或者它是一个噩梦吗?

  4. 不升级的通常作用的主题?

  5. 还有什么我应考虑在升级之前?

有帮助吗?

解决方案

通常升级,从上一版本,目前应当是平滑的,或多或少。

由于1.13是EE只有很好的机会,大多数免费模块将不急于测试。因此最好的事情要做(以及你应该总是这样)是执行新试验的复制的自己的网站,查看如果它打破。

如果它打破了看看这是什么你可以修复,别的地址(模块)的支持(如果模块被打破).

其他提示

1)不会升级通常休息的第三方模块?

取决于如果他们有事可做有的索引。最大的变化EE1.13是,本索引工作与数据库触发,而不是php-文件。如果你或你的模块改变任何东西在标准索引,它几乎肯定是要失败的。否则,我看到通常的危险。

2)我们应该考虑的升级之后释放,或者我们应该等到我们第三方的模块已经被验证工作最新版本吗?

我们已经更新了非常早,因为我们需要速度的新索引在更新企业资源规划系统。如果你不需要的速度,我会等的模块。

3)没有升级的通常顺利,或者它是一个噩梦吗?

这是正常的我想说的。

4)升级的通常作用的主题?

通常没有。如果你有一个主题,是压倒一切的很多后,一些新的特征可能被隐藏。我不记得太多新的特点,该客户将会看到,虽然。

5)有其他任何东西我应考虑在升级之前?

有三个领域找到(从 http://www.code4business.de/update-magento-enterprise-edition-1-13-0-2/):

  • API改变的部分的索引
  • 独特产品网址的钥匙
  • shell_exec的依赖在一定时任务

API改变的部分的索引

最明显的变化EE1.13是新的索引系统。我们特别重视它,因为我们正在引发的局部indexer在一定的进脚本来允许无缝的进口超过一天。但是这又令人吃惊的好,只有一点在代码,必须调整为新的索引。

之前我们用的processEntityAction()方法为触发该索引,用于单一产品,这已被替换为logEvent()及下列参数:

Mage::getSingleton('index/indexer')->logEvent(
  new Varien_Object(array(
    'id' => $product->getId(),
    'store_id' => $product->getStoreId(),
    'rule' => $product->getData('rule'),
    'from_date' => $product->getData('from_date'),
    'to_date' => $product->getData('to_date')
  )),
  Enterprise_TargetRule_Model_Index::ENTITY_PRODUCT,
  Enterprise_TargetRule_Model_Index::EVENT_TYPE_REINDEX_PRODUCTS
);

独特产品网址的钥匙

改变了产生最大影响是,现在有一个独特的索引网址的关键在URL重写表。这实际上还真伟CE1.8.现在,如果我们这样的你有多个存储意见和进口产品,使每个商店的看URL的关键是保存,则自动具有重复的钥匙。更新脚本是聪明不只是扔一个错误,但重新命名所有的钥匙,所以最后你就会喜欢的东西:

  • de.example.com/someproduct.html
  • en.example.com/someproduct1.html
  • nl.example.com/someproduct2.html

为了避免这种情况,URL重写必须是固定的更新之前,以便有一个重写每种产品和网址的关键,并存意见中使用"使用默认"。我们设法与一个单一的SQL query之前的更新:

DELETE nondefault
FROM catalog_product_entity_varchar AS nondefault
INNER JOIN catalog_product_entity_varchar AS def ON def.value = nondefault.value
AND def.entity_id = nondefault.entity_id
WHERE def.attribute_id =86
AND nondefault.attribute_id =86
AND nondefault.store_id 0
AND def.store_id =0

注意,86id URL的关键属性。如果你已经没有更新,没有运行的这种查询第一你必须去除错误地创建URL键首先,这可以用下面的查询:

DELETE url_table
FROM catalog_product_entity_url_key url_table
INNER JOIN catalog_product_entity_varchar old_url_table ON url_table.store_id = old_url_table.store_id
AND url_table.store_id 0
AND old_url_table.store_id 0
AND url_table.attribute_id = old_url_table.attribute_id
AND url_table.entity_id = old_url_table.entity_id;

正如我们后来发现,更新包含两个脚本隐藏在壳的地址相同的主题:

  • url_migration_to_1_13.php
  • url_migration_from_1_13_0_0_to_1_13_0_2.php

shell_exec的依赖在一定时任务

另一个小棘手的事情是,cron.php 有一个新的功能允许平行的执行。它试图运行的脚本cron.sh 作为背景过程中与shell_exec()它再次运行cron.php.不幸的是检测如果shell_exec()是活动的工作不可靠的。可能的解决方案是:

确保shell_exec是不是名单上的残疾功能在你的PHP configuration

删除的任何空白的残疾人的功能配置价值或 改变cron.php 并手动设置$isShellDisabled到真实的

许可以下: CC-BY-SA归因
scroll top