◄ Помощь ► Magento 2

Я так и делаю app\design\frontend\Singree\piri\requirejs-config.js
Код:
var config = {
    map: {
        '*': {
            jQuery311                                   : "Magento_Theme/js/jquery-3.1.1.min",
            jqueryNoConflict     : 'Magento_Theme/js/jquery.no-conflict',
            vendor                  : 'Magento_Theme/js/vendor',
            global                  : 'Magento_Theme/js/global'
        }
    }
};

alert("Done");
Но он даже не пытается их подключить =(
Дело в том, что вам помимо этого нужно вызывать эти скрипты из файла .phtml.
Принцип таков:
Вы прописываете зависимости, располагаете файлы в нужных директориях, производите вызов этих скриптов из .phtml файла или контента страницы в админ-панели.
Пример:
Код:
<div id="home-slider" class="owl-slider">
    <div class="home-item" style="background: url({{media url=;">
</div>

<script>
    require([
        'cookiecode/jquery',
        'owlcarousel'
    ], function ($) {
        jQuery(document).ready(function () {
            jQuery(".owl-slider").owlCarousel({
                navigation: true
            });
        });
    });
</script>
Суть в том, что они не будут загружаться, пока вы сами не объявите, что их нужно загрузить.

Уже что-то. Я сделал все как описали
Код:
<script>
    require([
        'jQuery311',
        'jqueryNoConflict',
        'vendor',
        'global',
    ], function ($) {
        jQuery(document).ready(function () {
            console.log('ok');
        });
    });
</script>

Но браузер сообщает что таких файлов не существует Для просмотра ссылки Войди или Зарегистрируйся
Делал
$ php bin/magento cache:clean
$ php bin/magento setup:static-content:deploy

Безрезультатно.
Вам нужно не только кэш почистить, но и удалить содержимое папок: pub/static (за исключением файла .htaccess) и var/view_preprocessed.
rm -rf pub/static/*
rm -rf var/view_preprocessed/*

Указал так
Код:
<script>
    require([
        'js/jquery-3.1.1.min',
        'js/jquery.no-conflict',
        'js/vendor',
        'js/global',
    ], function ($) {
        jQuery(document).ready(function () {
            console.log('ok');
        });
    });
</script>
Все подключилось. Но если я понял то тогда requirejs-config.js не к чему?
requirejs-config.js - это необходимая часть. Тем самым вы объявляете свои скрипты, их расположение и имена, и указываете зависимости, если это необходимо. Если удалить его, ваши скрипты не загрузятся.
 
Последнее редактирование модератором:
Все подключилось. Но если я понял то тогда requirejs-config.js не к чему?

В requirejs - добавляем общий код, который выполняется для каждой страницы
Вот живой пример

Код:
var config = {
    'map': {
        '*': {
        }
    },
    'paths': {
        'what-input': 'js/fnd/what-input.min',
        'foundation': 'js/fnd/foundation.min',
        'mask': 'js/jquery.mask.min',
    },
    'shim': {
        'mask': {
            'deps': ['jquery']
        },
        'what-input': {
            'deps': ['jquery']
        },
        'foundation': {
            'deps': ['jquery', 'what-input']
        },
        'js/app': {
            'deps': ['jquery', 'foundation', 'mask']
        },
    },
    "deps": [
        'js/app'
    ]
};

js/app.js - файл с кодом для текущей темы, остальное - библиотеки и зависимости.

исполняемого кода в самом requirejs-config.js не должно быть
котрольно можно проверить как кофигурации requirejs собираются в общую конфигурацию
\pub\static\_requirejs\frontend\<vendor>\<theme>\<lang>\requirejs-config.js

Если же есть что-то специфическое для темплейта, то можно и через <script> в самом темплейте
Можно вообще привязать к элементу верстки с помощью атрибута data-mage-init

Код:
<nav data-mage-init='{ "<component_name>": {...} }'></nav>
Для просмотра ссылки Войди или Зарегистрируйся
 
Всем привет! Пробовал устанавливать коммерческую тему (к примеру Porto) на локальную установку Magento 2 на XAMPP. Возникла проблема, не подгружаются скрипты и css.
Подозреваю, что нужно аналогично виртуальному серверу на ubuntu изменить права на файлы. Поделитесь, пожалуйста, заметками установки темы для Magento 2 на локалке под Windows.
 
Всем привет! Пробовал устанавливать коммерческую тему (к примеру Porto) на локальную установку Magento 2 на XAMPP. Возникла проблема, не подгружаются скрипты и css.
Подозреваю, что нужно аналогично виртуальному серверу на ubuntu изменить права на файлы. Поделитесь, пожалуйста, заметками установки темы для Magento 2 на локалке под Windows.
Права имеют эффект только под линуксом. Это что-то другое

что-то не так
там должны собираться в кучу requirejs-config со всех модулей, в том числе внутренних, для данной темы и данного языка

p.s. Наверно ошибка в одном из requirejs-config - в каком-нибудь модуле или теме
там не должно быть кода, только переменная config

var config = {
...
}

Для просмотра ссылки Войди или Зарегистрируйся

Дефолтная верстка мадженто архинеудобная ИМХО, поскольку less-исходники разнесены по модулям
нужно обязательно настраивать grunt или gulp, чтобы он компилировал css на лету в pub/static
иначе придется после каждой правки выполнять setup:static-content:deploy

т.е. мало добавить _module.less, нужно еще убедиться, что он скомпилирован

grunt
Для просмотра ссылки Войди или Зарегистрируйся

gulp
Для просмотра ссылки Войди или Зарегистрируйся

Я вообще сразу отказался от их less-фреймворка в пользу foundation и компилировал с помощью ruby-sass
 
Последнее редактирование модератором:
исполняемого кода в самом requirejs-config.js не должно быть
котрольно можно проверить как кофигурации requirejs собираются в общую конфигурацию
\pub\static\_requirejs\frontend\<vendor>\<theme>\<lang>\requirejs-config.js

У меня по этому пути создается файл requirejs-config.js0 (ноль в конце не опечатка) и там
Код:
(function(require){



})(require);

Явно что-то не так =\

С предыдущим вопросом все решил) Моя затупа, Чертов PHPStorm заменил все совпадения) сейчас бодаюсь с другой темой. Создал кастомное меню в админке, хочу поменять иконку. Создал все как пишут в доке, _module.less который по классу перебивает иконку, а могенто его не подхватывает. Может есть что по этому поводу в мыслях?
 
Последнее редактирование модератором:
Дефолтная верстка мадженто архинеудобная ИМХО, поскольку less-исходники разнесены по модулям
нужно обязательно настраивать grunt или gulp, чтобы он компилировал css на лету в pub/static
иначе придется после каждой правки выполнять setup:static-content:deploy

т.е. мало добавить _module.less, нужно еще убедиться, что он скомпилирован

grunt
Для просмотра ссылки Войди или Зарегистрируйся

gulp
Для просмотра ссылки Войди или Зарегистрируйся

Я вообще сразу отказался от их less-фреймворка в пользу foundation и компилировал с помощью ruby-sass
На самом деле очень удобная структура, но видимо тут дело привычки. Единственный недостаток, на который все жалуются касается того, что Magento 2 нереально долго тупит на локалке. Моя практика: настроить phpstorm и верстать всё на виртуальном сервере, в итоге всё летает. А setup:static-content:deploy ограничивается ctrl+с ctrl+v в консоли того-же phpstorm.
А на счет верстки, не понимаю зачем некоторые делают тему с нуля, если конечно не привыкли работать с foundation. Каркасы для тем похожие, те же коммерческие темы выполнены на базе стандартной темы Magento 2 Blank, к примеру Porto.
 
Любая тема делается на базе blank.
Дело в том, что ваять виджеты с нуля на их фреймворке бессымсленная трата времени.
Их фреймворк голый - там ничего нет, а то что есть совсем не айс.
Более того сами темплейты местами сверстаны топорно.

Сделали они бы верстку на бутстрапе хотябы, он ведь тоже на лесс.
Все равно, если делать что-то свое, чтобы потом поддерживать и развивать, нужен бутстрап или фаундейшн.
Переверстать же дело не хитрое.
 
Единственный недостаток, на который все жалуются касается того, что Magento 2 нереально долго тупит на локалке.
При работе с Магенто 2 тоже ужасно тупило на локалке, проблема решается увеличением оперативной памяти и установкой ssd. Теперь все намного быстрее работает, и та же компиляция проходит в разы быстрее. Так что советуюю ставить ssd для работы с Magento так как там тонны файлов и они в режиме developer постоянно генерят контент.
 
В Magento 2 , три режима работы -один из них developer - только для разработки, и в этом режиме о скорости работы говорить нет ни какого смысла. Скорость будет видна, только в режиме production + компиляция + склейка css и т.д. В magento doc подробно описано
 
Всем привет! На данный момент какой самый оптимальный способ внедрения блога в Magento 2? Как и в первой Wordpress? Если кто-то подключал Wordpress, поделитесь, пожалуйста, опытом.
 
Назад
Сверху