Чтобы выполнить это в теме Cornerstone, выполните следующие действия.
- Добавьте Select2 в свой пакет. Json
npm install select2 --save
- Добавьте Select2 в свой веб-пакетconfig resolv / alias
select2: path.resolve(__dirname, 'node_modules/select2/dist/js/select2.min.js'),
- Импортировать библиотеку, где вы хотите ее использовать (например, product.js)
import 'select2';
- Импортировать Select2 css
@import "../../node_modules/select2/src/scss/core";
- Теперь выВам нужно будет позвонить
select2()
на любые поля, на которых вы хотите запустить.Я выполнил это с помощью - Создание пользовательского шаблона продукта
- Создание пользовательского шаблона представления продукта
- Создание пользовательской замены для
dynamicComponent
для параметров продукта - Добавить
select2
class для любых select
элементов, которые вы хотите запустить на - Run
$('.select2').select2();
внутри product.js onReady
- Наконец, вам нужно исправить CSS, чтобыдля select2 для правильного отображения.Попробуйте
.select2 {font-size: $input-small-fontSize;}
Поскольку самой сложной частью этого был пользовательский шаблон dynamicComponent
, вот что я сделал
{{#if this.type "===" "Configurable_PickList_Set"}}
{{#if this.partial "===" "set-radio"}}
{{> components/products/options/set-radio this }}
{{/if}}
{{#if this.partial "===" "set-rectangle"}}
{{> components/products/options/set-rectangle this }}
{{/if}}
{{#if this.partial "===" "set-select"}}
{{> components/products/options/set-select this select2="true" }}
{{/if}}
{{else}}
{{{dynamicComponent 'components/products/options'}}}
{{/if}}