2016-02-28 3 views
3

первый раз здесь.Миграционный код от Magento 1.6 до 2.0

Я пытаюсь перенести этот код с Magento 1.6 на M 2.0. Я должен отметить, что у меня есть базовые знания в программировании, поэтому для меня это очень сложно. Я провел некоторое исследование, где обнаружил, что Mage изменился на Bootstrap в M 2.0. и 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(); 
+0

@AlexPaliarush Я пробовал ваши шаги на этом посту [ссылка] http://magento.stackexchange.com/questions/92204/magento-2-get-product-collection-in-a-custom-template-block [/ ссылка], но я все еще могу перенести этот код на magento 2. Можете ли вы мне помочь? Спасибо – David

ответ

6

Несколько вещей, которые могут направить вас в правильном направлении.

Во-первых, процесс бутстрапа Magento изменился настолько, что писать эти виды из простых сценариев оболочки не так просто, как когда-то было. Возможно, это возможно, но я еще не видел, чтобы кто-то это делал. Вместо этого вы можете создать модуль Magento и использовать этот модуль для добавления новой команды в консольную программу magento bin/magento.

Во-вторых, объекты в Magento создаются с помощью диспетчера объектов класс. Однако, делая вещи немного более запутанными, вы не должны использовать класс диспетчера объектов напрямую - вместо этого вам нужно использовать автоматическую инъекцию зависимостей конструктора для инъекции объектов в ваши классы. Я написал article series, который охватывает это, если вам интересно.

+0

Большое вам спасибо. Я буду искать в этом и посмотреть ваши статьи. – David

+0

Что вы думаете об этом? Я приближаюсь? 'общественная функция запуска() { \t \t \t $ objectManager = \ Magento \ Framework \ App \ ObjectManager :: деЫпзЬапсе(); \t \t $ productCollection = $ objectManager-> create ('Magento \ Catalog \ Model \ ResourceModel \ Product \ Collection'); \t \t $ productCollection-> load(); \t echo get_class ($ this -> _ objectManager-> create ('\ Magento \ Catalog \ Model \ Category')); return $ this -> _ response; } ' – David

1

Это сообщение может помочь: https://community.magento.com/t5/Version-Upgrades/How-to-upgrade-Magento-1-9-2-to-2-0/td-p/23920

Во-первых, chiefair отправил

Короткий ответ, вы не ...

Переход от 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

Надеется, что это помогает.

Смежные вопросы