Илья · 16 января 2015, 20:11 Разобрался сам [[msOptions? &name=`size` &tplOuter=`tpl.msOptions.size.outer` &tplRow=`tpl.msOptions.size.row` ]]tpl.msOptions.size.outer <div class="form-group"> <label class="col-sm-2 control-label">[[%ms2_product_[[+name]]]]:</label> <div class="col-sm-9"> [[+rows]] </div> </div>tpl.msOptions.size.row <input type="radio" id="check-size-[[+value]]" class="size" value="[[+value]]" [[+checked]] [[+disabled]] name="options[size]"> <label for="check-size-[[+value]]"><span>[[+value]]</span></label>CSS /* UI Styles: radio Sizes */ input[type="radio"], input[type="radio"]:active, input[type="radio"]:focus, input[type="radio"]:checked { display: none; } input[type="radio"] + label span { display: inline-block; width: 32px; height: 30px; background: #454545; border-radius: 4px; cursor: pointer; position: relative; padding: 0; margin: 5px; border: none; -webkit-backface-visibility: hidden; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; -o-appearance: none; appearance: none; -webkit-transition: .075s; -moz-transition: .075s; -ms-transition: .075s; -o-transition: .075s; transition: .075s; box-shadow: 0 2px 0 #000; } input[type="radio"].size + label span { background: #b9d9f5; box-shadow: 0 2px 0 #94bfe4; text-align: center; font-family: "Open Sans", sans-serif; line-height: 32px; font-size: 16px; color: #fff; } input[type="radio"].size + label span:hover { background: #7db3e1; box-shadow: 0 2px 0 #6495be; } input[type="radio"].size + label span:active { top: 2px; box-shadow: 0 0px 0 #94bfe4; } input[type="radio"]:checked.size + label span { content: ""; color: #fff; background: #7db3e1; box-shadow: 0 2px 0 #6495be; } input[type="radio"]:checked.size + label span:after { content: ""; color: rgba(255, 255, 255, 0.3); } input[type="radio"]:disabled.size + label span { opacity: 0.4; } input[type="radio"]:disabled.size + label span:hover { background: #b9d9f5; box-shadow: 0 2px 0 #94bfe4; } input[type="radio"]:disabled.size + label span:active { top: 0; box-shadow: 0 2px 0 #94bfe4; } input[type="radio"]:checked + label span:after { cursor: pointer; display: block; position: absolute; top: -4px; left: -4px; width: 40px; height: 40px; box-shadow: inset 0 0 0 2px #d0d0d0; border-radius: 4px; line-height: 40px; font-size: 16px; text-align: center; font-family: "proviz"; content: "\e25a"; color: rgba(255, 255, 255, 0.3); -webkit-backface-visibility: hidden; -webkit-transition: .045s; -moz-transition: .045s; -ms-transition: .075s; -o-transition: .045s; transition: .045s; } input[type="radio"]:disabled.size + label span { opacity: 0.4; } :before, :after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }Получилось довольно симпатично Вопросы / Как организовать подобный выбор размера и цвета? 10 +2 3
Алексей Ерохин · 20 ноября 2014, 20:25 Я так делал. Перед собственно определением плагина в js-файле добавлял это: var storesex = new Ext.data.ArrayStore({ id: 'minishop2-product-sex' ,fields: [{name: 'name', type: 'string']} ,data: [['Мужской'],['Женский'],['Унисекс']] }); miniShop2.combo.ProductSex = function(config) { config = config || {}; Ext.applyIf(config,{ store: storesex ,emptyText: _('ms2_combo_select') ,displayField: 'name' ,valueField: 'name' ,hiddenName: 'sex' ,mode: 'local' ,triggerAction: 'all' ,editable: false ,selectOnFocus: false ,preventRender: true ,forceSelection: true ,enableKeyEvents: true }); miniShop2.combo.ProductSex.superclass.constructor.call(this,config); }; Ext.extend(miniShop2.combo.ProductSex,MODx.combo.ComboBox); Ext.reg('minishop2-combo-product-sex',miniShop2.combo.ProductSex);Теперь в плагине можно использовать xtype только что зарегистрированного комбобокса sex: {xtype: 'minishop2-combo-product-sex',fieldLabel: 'Пол'} Вопросы / Добавить свойство товара Список (одиночный выбор) 7 +2 4
Сергей Шлоков · 16 октября 2014, 12:38 Вот важная информация для админов сайтов — Как защитить MODX Revolution от взлома Вот еще от себя могу добавить — Вопросы / Взломали сайт 17 0 6
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
tpl.msOptions.size.outer
tpl.msOptions.size.row
CSS
Получилось довольно симпатично
Перед собственно определением плагина в js-файле добавлял это:
Теперь в плагине можно использовать xtype только что зарегистрированного комбобокса
Вот еще от себя могу добавить —