Категории: Мадженто 2

Что нового в Magento 2 (по сравнению с Magento 1.x)?

Magento 2 значительно отличается от своего предшественника Magento версий 1.х. Разработчики внесли массу изменений, чтобы улучшить производительность и масштабируемость этой платформы. Но в новом движке есть масса изменений, которые стоит выделить особо, и в сегодняшней статье мы уделим этому внимание.

 

Основные изменения:

  • Поддержка HTML5, CSS3, jQuery, LESS
  • Файловая структура
  • Макеты
  • Контейнеры и Блоки
  • Документация (Wiki, DevDocs)

 

 

Некоторые из улучшений включают добавление тегов HTML5, встроенных в шаблоны, использование в стилях техник CSS3, а также встроенный препроцессор LESS. На стороне JavaScript хорошим изменением является переход от Prototype к jQuery в качестве основной библиотеки. Теперь очень активно используется jQuery UI и добавлен целый набор готовых пользовательских виджетов jQuery UI, которые можно использовать на своем сайте. Все загрузки JavaScript обрабатываются RequireJS и теперь не нужно беспокоиться из-за неправильной очередности подключения скриптов.

 

 

  1. CSS

В Magento 2 добавлять CSS стало проще, для этого нужен только файл-источник CSS стилей. Раньше приходилось добавлять CSS либо через XML, либо путем добавления кода <link> в секцию <head> через файл шаблона.

Если вы расширяете одну из встроенных тем (например, blank тему или Luma), чтобы настроить CSS, вы просто переопределяете .LESS-файл с оригинальными стилями используя эквивалентные имя/путь в вашей собственной теме. Например, вам нужно переопределить CSS-стили Корзины, которые первоначально определены в следующем файле:

app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/_module.less

Вам нужно скопировать содержимое этого файла и создать новый файл в своей теме с тем же путем. Таким образом, это будет выглядеть примерно так:

app/design/frontend/Company/Theme/Magento_Checkout/web/css/source/_module.less

 

Вы также можете добавить свои собственные CSS-файлы. Это делается в файле default_head_blocks.xml, который находится в папке Magento_Theme в вашей теме, например:

app/design/frontend/Company/Theme/Magento_Theme/layout/default_head_blocks.xml

 

 

  1. Файловая структура

Файловая структура тем и модулей сильно отличается от Magento 1.x. Каждая папка с шаблоном имен <Package>_<Module> является компонентом сайта. Все составляющие папки skin перенесены в эти компоненты (отдельно в теме, и отдельно в модуле), что позволяет держать все ресурсы вместе, а это значительно облегчает использование пользовательской темы. Все картинки (медиа-ресурсы) перенесены из папки media в папку pub/media. Все системные и сторонние модули теперь находятся в корневой папке vendor (если они были установлены через Composer). Если вы создаете свой модуль, вам нужно, как и раньше, делать это в папке app/code/ (правда, без разделения на среды разработки).

 

 

  1. Макеты

В Magento 2 больше нет файла local.xml. Вместо этого используется весь нужный XML в каждом модуле. Если вы хотите изменить XML-файл для модуля, вам нужно будет создать новый XML-файл с тем же названием в эквивалентной структуре модуля в вашей теме и внести туда изменения (помните, что все атрибуты и определения из исходного модуля будут унаследованы в этот файл).

Еще одна замечательная особенность нового XML в Magento 2 – это действие move (перемещение). Раньше, если вы хотели куда-то переместить блок, вам нужно было отключать дочерний элемент, а затем вставлять его обратно в XML-макете. В Magento 2 для этого нужна только одна строка. Чтобы переместить элемент, вы просто ссылаетесь на него через его имя, а затем указываете пункт назначения (это может быть Контейнер или Блок).

Пример инструкции: <move element="catalog.leftnav" destination="content.top" after="-"/>

 

 

  1. Контейнеры и Блоки

Контейнер представляет собой структуру без контента (т.е., без содержимого, просто структуру), которая содержит другие Блоки и Контейнеры. Вы можете указать атрибуты и теги HTML и задать им идентификатор и/или класс. Это означает, что вы можете создавать HTML структуру с помощью макета, что было невозможно в Magento 1.x. Для расширения макета используются ноды referenceBlock и referenceContainer (другими словами, это ссылки на нужные Блоки и Контейнеры).

Более подробная информация о Контейнерах и Блоках имеется в нашей предыдущей статье.

 

 

  1. Документация по Мадженто 2

Создатели Magento 2 разработали очень детальную документацию по новой платформе. Настоятельно рекомендуется ознакомиться с ней по следующему адресу.

 

 

 

Краткий итог

В целом, Magento 2 определенно является большим улучшением по сравнению с версиями Magento 1.x. Есть много больших улучшений, таких как новая модульная структура кода и переопределение контента и XML-макета. Улучшения в JavaScript являются одним из самых больших изменений, поскольку теперь вы можете легко добавлять новые, и расширять существующие скрипты, не беспокоясь о всех зависимостях файлов.

Конечно, мы рассмотрели не все нововведения, но для этого недостаточно одной страницы. Мы будем публиковать отдельные статьи по наиболее интересным моментам новой платформы, поэтому следите за обновлениями на сайте!

Если у вас есть полезная информация по данной теме, не стесняйтесь делиться ею в комментариях ниже. Также напишите свое личное мнение о новой платформе.

 

Share
Теги: Magento2

Последние посты

Самые красивые и впечатляющие мосты со всего мира (ТОП-10)

Мост — это нечто большее, чем просто сооружение, соединяющее два берега. Для того, чтобы появился… Читать далее

19/04/2024

Соломон

Жизнь нас учит, что свою пару мы познаем, когда разводимся, своих братьев мы познаем, когда… Читать далее

18/04/2024

Чак Паланик

Кто может — тот делает. Кто не может — тот критикует Чак Паланик   Читать далее

17/04/2024

Ричард Бах

Ни одно желание не дается тебе отдельно от силы, позволяющей его осуществить. Хотя, возможно, для… Читать далее

16/04/2024

Стивен Кинг

Жизнь – это непрерывный опыт, и даже самые плохие моменты занимают свое место в пазле… Читать далее

15/04/2024

неизвестный автор

Люди, которые любят одиночество, дорого заплатили за дружбу с кем-то... неизвестный автор   Читать далее

14/04/2024