2

第一次来这里。

我正在尝试将此代码从 Magento 1.6 迁移到 M 2.0。我必须注意,我只有编程的基本知识,所以这对我来说很难。我做了一些研究,发现 Mage 在 M 2.0 中更改为 Bootstrap。和 getModel 也发生了变化。我不是在要求完整的解决方案,因为我想练习。你能告诉我哪里出了问题或指导我一点,以便我自己找到吗?

$mageFilename = '../app/Mage.php';
require_once $mageFilename;

umask(0);

Mage::app('default');
$intRootCategoryId = Mage::app()->getStore()->getRootCategoryId();
$objCategories = Mage::getModel('catalog/category')->getCollection();
$arrCategories = array();
4

2 回答 2

7

有几件事可能会引导您朝着正确的方向前进。

首先,Magento 的引导过程已经发生了很大的变化,以至于编写这些简单的 shell 脚本不再像以前那么容易了。这可能是可能的,但我还没有看到有人这样做。相反,您可以创建一个 Magento 模块,并使用该模块将新命令添加到 magento 的bin/magento控制台程序。

其次,Magento 中的对象是使用对象管理器类实例化的。然而,让事情变得更加混乱的是,您并不打算直接使用对象管理器类——相反,您需要使用自动构造函数依赖注入将对象注入到您的类中。如果您有兴趣,我写了一篇文章系列,涵盖了这一点。

于 2016-02-29T01:45:31.043 回答
1

这篇文章可能会有所帮助:https ://community.magento.com/t5/Version-Upgrades/How-to-upgrade-Magento-1-9-2-to-2-0/td-p/23920

一、酋长发帖

简短的回答,你不...

从 Magento 1.x 迁移到 2.x 是一个过程,而不是升级。

数据库架构变化如此之大,以至于该过程被称为迁移。数据必须导出、转换为新的数据库表/列或在适用时丢弃。

https://github.com/magento/data-migration-tool-ce/blob/master/README.md

Magento 的目录结构和内部操作发生了很大变化,您需要与您的开发人员核实,以便重新编写模块以与 Magento 2.0 一起使用。主题和模板也是如此。

http://devdocs.magento.com/guides/v2.0/migration/bk-migration-guide.html

基本上,您将在您的实时站点上运行旧的 1.x 版本,同时将您的数据移动到在开发测试服务器上运行的 2.x 版本并进行功能测试,直到您认为它已准备好供实际使用。

flame1983

您可以选择将 Magento 1.9.2 升级到 2.0 :

  • 手动升级它。这可能需要很多时间并得到很多错误但便宜

  • 聘请专家为您做这件事。好像很贵

  • 使用迁移工具。这是一种流行的方式。我推荐这个工具。它便宜但有效

https://www.magentocommerce.com/magento-connect/magento-to-magento-migration-tool.html

希望这可以帮助。

于 2016-02-29T17:50:33.350 回答