Николай

Николай

С нами с 21 сентября 2017; Место в рейтинге пользователей: #746
Dolce
16 октября 2017, 10:33
5
+2
Точно, не удалил лишений код — как следствие и скопировал не то. Вот для селектов:
$(document).ready(function() {
                               
                    $(document).on('change', '#mse2_sort', function() {
                        var selected = $(this).find('option:selected');
                        var sort = selected.data('sort');
                        sort += mse2Config.method_delimeter + selected.val();
                        mse2Config.sort =  sort;
                        mSearch2.submit();
                    });

   });
Dolce
15 октября 2017, 10:56
1
+2
Мой финальный код выглядит так:
JS:
$(document).ready(function(){
    $('.selectheader').click(function(){
        $('.selectbody').slideToggle('fast');
        
        if($('.selectheader').hasClass('gray')){
            $('.selectheader').removeClass('gray');
            
            
        }else{
             $('.selectheader').addClass('gray');
        }
    });
});

$(document).on('mse2_load', function(){
    var active = $('.sortValue.active').html();
    $('.selectheader').html(active);
});


$(document).ready(function(){
    $('.selectbody').click(function(){
        $('.selectbody').slideToggle('fast');
    });
});
HTML:
<select class="sorting__cat"  id="mse2_sort">
        <option class="sort" data-sort="resource|pagetitle" value="asc">Название (А - Я)</option>
        <option class="sort" data-sort="resource|pagetitle" value="desc">Название (Я - А)</option>
        <option class="sort" data-sort="ms|price" value="asc">Цена (по возрастанию)</option>
        <option class="sort" data-sort="ms|price" value="desc">Цена (по убыванию)</option>        
</select>
Володя
09 сентября 2017, 10:58
1
+2
логика подсказывает что это есть в доках. И о чудо
docs.modx.pro/components/minishop2/snippets/msproducts
Вывод товаров фирмы Sony:

[[!pdoPage?
    &element=`msProducts`
    &parents=`0`
    &where=`{"Vendor.name":"Sony"}`
]]
[[!+page.nav]]
Илья
16 января 2015, 20:11
3
+2
Разобрался сам
[[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;
}
Получилось довольно симпатично