将 Select2 与 Magento 2 集成
Integrating Select2 with Magento 2
我正在尝试将 Select2 与 Magento2 集成。到目前为止,我已经成功集成了插件,但控制台上显示错误。
我做了什么:
- 下载 select2.min.js 并将其放入
app/design/frontend/<vendor>/<themename>/web/js/select2.min.js
- 在
app/design/frontend/<vendor>/<themename>/Magento_Theme/layout/default_head_blocks.xml
中包含脚本
将此添加到脚本标签中的 phtml 文件:
require(['jquery'],function(jquery){
jquery(document).load(function() {
jquery("#sorter2").select2();
});
});
我知道我应该通过 requireJS 包含它,但我似乎无法让它工作。
谢谢!
您不应该将它添加到每个页面的页眉中,因为它的依赖项不一定会加载。您需要将其添加到您的主题 requirejs-config 此处;
/app/design/frontend/<vendor>/<theme>/requirejs-config.js
在文件中放这个;
var config = {
paths: {
'select2': 'js/select2.min',
},
};
现在在任何 phtml 文件中你都可以这样调用它;
<script type="text/javascript">
require(['jquery','select2'],function($){
// do stuff with select
});
</script>
像这样的东西有效:
在requirejs-config.js
var config = {
paths: {
'select2': 'SATA_SparePartsFinder/js/vendor/select2.full'
}
};
在你的 .phtml
:
<script type="text/javascript">
require(['jquery', 'select2'], function($) {
$('#model-select').select2({language: {
noResults: function () {
return '<?= __('No results found') ?>';
}
}});
});
</script>
我正在尝试将 Select2 与 Magento2 集成。到目前为止,我已经成功集成了插件,但控制台上显示错误。
我做了什么:
- 下载 select2.min.js 并将其放入
app/design/frontend/<vendor>/<themename>/web/js/select2.min.js
- 在
app/design/frontend/<vendor>/<themename>/Magento_Theme/layout/default_head_blocks.xml
中包含脚本
将此添加到脚本标签中的 phtml 文件:
require(['jquery'],function(jquery){ jquery(document).load(function() { jquery("#sorter2").select2(); }); });
我知道我应该通过 requireJS 包含它,但我似乎无法让它工作。
谢谢!
您不应该将它添加到每个页面的页眉中,因为它的依赖项不一定会加载。您需要将其添加到您的主题 requirejs-config 此处;
/app/design/frontend/<vendor>/<theme>/requirejs-config.js
在文件中放这个;
var config = {
paths: {
'select2': 'js/select2.min',
},
};
现在在任何 phtml 文件中你都可以这样调用它;
<script type="text/javascript">
require(['jquery','select2'],function($){
// do stuff with select
});
</script>
像这样的东西有效:
在requirejs-config.js
var config = {
paths: {
'select2': 'SATA_SparePartsFinder/js/vendor/select2.full'
}
};
在你的 .phtml
:
<script type="text/javascript">
require(['jquery', 'select2'], function($) {
$('#model-select').select2({language: {
noResults: function () {
return '<?= __('No results found') ?>';
}
}});
});
</script>